PDA

Просмотр полной версии : [Benchmark] MySql Data Dumper


daniel_1024
05.09.2010, 17:46
Посмотрев видео kamaz`a Cookies & headers SQL injection (https://antichat.live/threads/223453/) я очень заинтересовался его методом вывода данных через BENCHMARK. Главное преимущество этого метода в том, что для узнавания таблиц, колонок, дампа данных и т.д. требуется только один запрос.

Чтобы не составлять громадные запросы для вывода данных вручную я написал этот скрипт - [Benchmark] MySql Data Dumper.

http://img688.imageshack.us/img688/6476/benchmarkx.png​

Рассмотрим конфиг программы:


Code:
#####################################
my $url = "http://xxx.ru/my/compare.php?id=666+and+1=0+union+select+1,^";
my $com = "--";
my $useragent = "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.8) Gecko/20100723 Ubuntu/9.10 (karmic) Firefox/3.6.8";
my $dbg = 0;
#####################################

$url - инъекция, принтабельное поле заменить на " ^ "

$com - комментарий к инъекции "--", "/*" и др.

$useragent - значение юзерагента

$dbg - дебаг, по умолчанию выключен.

Плюсы этого скрипта и метода в целом:

[+] очень мало записей в логах

[+] всё делается очень быстро

[+] возможность вывода баз, таблиц, колонок и значений.

[+] сохранение в файл

[-] при большом количестве выводимых данных - сильная нагрузка на сервер.

[-] пока - скрипт работает через GET

[-] версия MySql должна быть >= 4.1

[-] иногда Benchmark бывает нестабилен, или count(*) выдает неверное значение

ВНИМАНИЕ !​

При дампе значений скрипт спрашивает, относительно чего производить сортировку в цикле бенчмарка. Сортировку надо производить строго по уникальным значениям, "id", к примеру.

Если сортировать по паролю, возможна ситуация что у нескольких пользователей один и тот же пароль, и в этом случае, в место двух записей мы получим одну, и всё дальнейшее действие бенчмарка будет нарушено и не вернёт нужный результат.

То есть, если надо сдампить логины и пароли, то вводим "username,password,id" и после выбираем:

"Order by id".

Скачать: benchmark_dumper.pl (http://cyberguru007.narod2.ru/files/benchmark_dumper.pl)

P.S для дампа больших объёмов данных - к примеру, если надо сдампить 20к юзеров, советую использовать исключительно этот скрипт

tracy
05.09.2010, 18:12
Перелей на другой ХФ

Blizzard
05.09.2010, 18:41
а как составить запрос для вывода данных, если принтабельное поле:

site.com/index.php?id=-1+union+select+1,2,'Здесь',4

сам разобрался


Code:
+union select 1,2,concat(@i:=0x00,@o:=0x0d0a,benchmark(1450,@o:= CONCAT(@o,0x0d0a,(SELECT concat(@i:=mail,0x3a,password) from customers WHERE mail>@i order by mail LIMIT 1))),@o),4

daniel_1024
05.09.2010, 19:06
site.com/index.php?id=-1+union+select+1,2,^,4

kamaz
06.09.2010, 19:07
Также не советую злоупотреблять количеством одновременно выводимых таблиц.

Бо бенчмарк может запросто положить сервер (и иногда намеренно используется именно для этих целей в запросах вида


Code:
benchmark(100000, md5('qwerty'))

)

Поэтому, во избежании излишней нагрузки на сервер, рекомендую выводить, допустим, не 1 раз на 10000 а 4 раза по 2000 записей.

daniel_1024
08.09.2010, 15:40
kamaz, время выполнения бенчмарка оочень сильно зависит от хоста, на котором выполняется.

как пример, я нашел сайт, который выводил 20к записей за 10-15 секунд, и сайт, который выводил названия четырёх таблиц около минут =))

$CR00G€
11.05.2011, 13:59
Помогите разобраться, пытаюсь сдампить БД юзеров в 24к но Benchmark вылетает и не чего не дампит.

Формат ввожу такой:

db.tbl затем название колонок которые нужно сдампить:

c_email,c_firstname,c_lastname,c_id

Далее вылетает:

Order by ... ?

[0] c_email

[1] c_firstname

[2] c_lastname

[3] c_id

Ввожу c_id

Немного подумав он закрывается.

Пробовал дампить по одной колонке, c_id он дампит нормально, но любые другие колонки не дампит.

Подскажите плиз в чем трабла ?

satana8920
20.05.2011, 17:51
Да такая же проблема вывожу и она закрываеться в чем проблема ? как исправить?

daniel_1024
22.05.2011, 19:02
Этот метод не универсален, поэтому возможна неправильная работа скрипта. Можно попробовать составить запрос вручную.