Задача не банальная. Хоть и встречается
редко, но, как правило, ставит в тупик многих людей. Допустим,
мы имеем такой код:

<?php
if(isset($_GET['id']) && $_GET['id']!=''){
$replaced = preg_replace(/,/,'',$_GET);
....

здесь какие-то запросы с использованием переменной $replaced

К чему же мы приходим? Невозможно использовать конструкцию
union select, если в запросе участвует больше 2-х полей. ОК,
крутим как слепую, скажешь ты. Но в данном случае большинство
известных способов, таких как использование функций substring(),
mid(), ExtractValue(), а также последние наработки Qwazar’a в
области раскрутки слепых инъекций работать не будут. Что же
делать? Будем использовать логику SQL-выражений, и здесь поможет
нам LIKE.
Для начала узнаем версию:

id=1 and version() like '4%'--

Если запрос не удался, значит, версия отличная от 4*. Пробуем
по-другому:

id=1 and version() like '5%'--

ОК, запрос такой же, как и при

id=1 and 1=1--

А это значит, что первый символ версии мы подобрали успешно.
Я думаю, ты понял, что делать дальше, но я все же покажу.
Узнаем названия таблиц в information_schema.tables; желательно
знать примерное название колонки, если нас интересует таблица с
юзерами, я делаю обычно так:

id=1 and (select 1 from information_schema.columns
where column_name like '%pass%' and table_name like 'u%')--

В данной конструкции ‘%pass%’ остается неизменным, а
подбираем мы именно table_name. Если первый запрос прошел
удачно, тогда пробуем подобрать второй из символов:

id=1 and (select 1 from information_schema.columns
where column_name like '%pass%' and table_name like 'us%')--

И так далее. Предположим, мы получили имя таблицы users и
колонки username, password,id. Составим запрос на получение
пароля из базы

id=1 and (select 1 from users where id=1 and password
like 'q%')--

Подбирается по образу и подобию предыдущих запросов. Символ %
в конструкции LIKE говорит о том, что после ‘q’ находится 1 и
более любых символов.

Оставить мнение

Check Also

В гостях у чертёнка. FreeBSD глазами линуксоида

Порог вхождения новичка в мир Linux за последние десять-пятнадцать лет ощутимо снизился. О…