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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Toolza 1.0 (https://forum.antichat.xyz/showthread.php?t=148915)

Pashkela 22.10.2009 06:39

Сейчас делаю Blind, типо многопоточный, скажите плз, кто шарит, ровно две с половиной минуты при 10 потоках - это очень долго, чтобы узнать version(), database() и user(), при длине version() = 6, database() = 9, user() = 46 ?

Как все работает можно увидеть на видео (340 кб):

http://bug-track.ru/prog/toolza_blind_test.rar

И еще вопрос, кто в курсе, как сделать потоки в УЖЕ запущенных потоках - т.е. чтобы все функции выполнялись многозадачно. А функций там 3 штуки уже по блайнду. А будет больше.

PS: Основанно все и содрано практически один в один и адаптированно в perl с php-скрипта Grey :)

PSS: И еще тестик - улучшать как-то или и так сойдет(522 Кб):

http://bug-track.ru/prog/toolza_blind_test1.rar

тут: version() = 15, database() = 12, user() = 23

3 мин 23 сек

Оба теста через POST без прокси

s0l_ir0n 22.10.2009 06:54

Цитата:

3 мин 23 сек
Оба теста через POST без прокси
Не фонтан конечно, но юзать можна

Dyxxx 22.10.2009 17:20

а по моему очень хорошо

Pashkela 23.10.2009 18:10

update: Blind Mysql v.4-5 injection + видео по использованию

обновления в первом посте

axe89 23.10.2009 18:42

Парни а как запустить эту штуку?

Gaus 23.10.2009 18:49

Цитата:

Сообщение от axe89
Парни а как запустить эту штуку?

http://www.activestate.com/activeperl/

Qwazar 23.10.2009 19:00

Цитата:

Сейчас делаю Blind, типо многопоточный, скажите плз, кто шарит, ровно две с половиной минуты при 10 потоках - это очень долго, чтобы узнать version(), database() и user(), при длине version() = 6, database() = 9, user() = 46 ?
Это долго. А ещё, я не понял, зачем при блайнде 10 потоков на version() из 6 символов? По какому принципу ты их загружаешь? Расскажи как у тебя перебор организован.

Pashkela 23.10.2009 19:11

Цитата:

А ещё, я не понял, зачем при блайнде 10 потоков на version() из 6 символов?
не на вершион а на 10 основных системных запросов, просто version() сама по себе одна не узнается, только в купе с другими параметрами, многопоточное всё, где не один запрос идет.

Алгоритм простой - каждый запрос в отдельный поток, но каждый запрос - это например version(), а не разделение потоков на перебор всех символов в version(), просто таже version() одновременно узнается и брутится с:

user()
database()
@@basedir
@@datadir
@@tmpdir
@@version_compile_os
mysql.user
mysql.password
file_priv

PS: А вообще смотрите видео, для кого писал, если 25 минут - от нахождения слепой скули до получения данных username,password,access_level в виде:

Admin:md5_hash:owner

и кол-ве первых пяти записей + предварительно узнавание всех таблиц c table_schema!=information_schema и всех колонок из интересующей таблицы

- долго, то хз, пока так

PS: Т.е. тут чем больше данных мы запрашиваем, тем больше как бы многопоточность ощущается :)

В процессе написания я как бы понимал, что многопочность в идеале надо прикручивать именно на брут символов, а не на каждый запрос в виде version(), но как показала практика - увеличение скорости незначительное + происходила частичная потеря символов, что недопустимо, т.к. потеряв хоть один символ из того же MD5 его уже не расшифруешь

Цитата:

Расскажи как у тебя перебор организован.
есть код, в чистом виде, в первом посте

Qwazar 23.10.2009 19:46

Смотри, на 1 символ требуется всего log N запросов (логарифм по основанию 2), где N - количество символов в алфавите. Если ты ещё шлёшь запросы пачками по 10 штук то тогда вообще не понятно, что может занять аж 25 минут.

Pashkela 23.10.2009 19:50

Qwazar, если ты знаешь проги быстрее этой и готов предоставить мне "более правильный" алгоритм перебора - я буду только рад :)


Время: 01:25