![]() |
Multivariant Blind SQL Inject's
Не знаю писал об этом кто-то раньше или нет, идея в общем то очевидная...
Для начала напомню суть Blind SQL - к примеру у нас есть уязвимый сайт, на лицо инъекция, но использовать классический UNION SELECT мы не можем, так как в скрипте, к примеру, используються несколько последовательно идущих запросов с разным количеством колонок, в которые приходит наш уязвимый параметр. Чтобы получить данные из базы в этом случае обычно используеться конструкция AND c посимвольным перебором значений: Код:
Подбор имени первой несистемной таблицы:Еще одна полезная констукция - IN: Код:
Проверяем существование таблиц из спискаНо почему бы нам не использовать в качестве выводимого результата "родные" ID скрипта? Допустим у нас есть новостной сайт - с уязвимым параметром news_id. Сопоставив каждому варианту ид новости мы сможем возвращать более 2 вариантов, сократив таким образом количество запросов: Код:
?news.php?news_id= |
ога,я смотрю не зря открыли доступ на чих.
|
да уже было на ачате это.. https://forum.antichat.ru/showpost.php?p=1047515&postcount=72
|
Kernet
Эмм.. кто кому куда открыл...?? :) попугай Ну там какбе немного подругому... У меня про чиcтый blind... |
Цитата:
Если касаться именно поиска таблички с юзерами то кажеться легче всего начинать с like '%%' Вижу только 1 + данного метода это более нагдляднее... а если там допустим надо логин или пароль вытаскивать то тогда как? |
pampom, да этот метод, как я понял для того, чтобы брутить имена таблиц в 5й ветке, а не доставать их посимвольно. Или я ошибаюсь?
|
Цитата:
Цитата:
ДОпустим запрос такой: select newcont from news where id=$id инжект в параметре ИД. Допустим там ещё ткая реализация что содержимое ИД куда-нить попадает и обрабатывается. Ну вобщем слепая инъекция. в итогде, по предложенному вами методу получится: select * from news where id=(select 111 from information_schema.tables where table_name = 'administrators' union select 112 from information_schema.tables where table_name = 'admins' union select 113 from information_schema.tables where table_name = 'users') если какойто таблицы не существует, то эррор. с колумнами то же самое. в слепой инжекции можно получить только 0 или 1, то бишь тру или фолс. Выходит, чтобы получить тру, нужно чтобы все параметры были верны. Цитата:
|
Код:
?news.php?news_id=К примеру у нас есть новости "Пьяные солдаты сбили НЛО" с ид 111 и "Обама тайный брат Майкла Джексона" с ид 112. Запрос возвращает статью про Обаму соответственно наше значение 'admins' o3,14um >если какойто таблицы не существует, то эррор Почему еррор? еррор здесь будет если существуют несколько... |
2 попугай
Речь не об этом 2 o3,14um Цитата:
Цитата:
Цитата:
2 Psi.X да, нормально, но не ново , не доработано, и уж конечно не универсально :) |
Цитата:
Цитата:
Я, конечно верю, что когда-то он работал, но посмотрим даже сейчас. Там по-видимому сделали пеерстройку и теперь проверяются переменные-результы на правильность и если хоть один из них неправильный - вылазит одибка мускуля. Ну, может там и подругому, но не суть. Цитата:
Вот вам слепая скуля http://www.omjewels.com/cpCommerce/document.php?id_document=2-1 из багтрека http://www.xakep.ru/post/47899/default.asp Покажите пожалуйста на примере, этот метод... |
| Время: 09:37 |