Всем привет!Накидал небольшую заметку о замечательной технике раскрутки слепых SQL инъекций, так называемой Injection Time Based. Много вопросов по данной теме, постараюсь наглядно объяснить.Многие, кто сталкиваются с данной инъекцией, в основном останавливаются на пол пути. Данная заметка ориентирована на новичков, дабы исключить все это множество вопросов по данной теме. Итак,многоуважаемый Dr.Z3r0 в своей статье упоминал о том, как с помощью функции sleep можно посимвольно вытаскивать данные. Напомню, оператор sleep появился с 5 ветки MySQL. Он создает задержку в ответе веб-сервера, которую мы и используем. Поехали! Сайт www.cornerjob.co.za/view-job.php?id=678. Уязвимый get-параметр id. Проверяем: id=678 and sleep(5) В 1-ом варианте время отклика (response time) небольшое, в то время,как во 2-м случае значительно увеличивается благодаря sleep. Далее! Опеределим версию mysql (хотя нам она уже известна, так как sleep появился с 5-ой версии). Давайте проверим Точно так же работаем с user(), database(): id=678 and if(substring(user(),1,1)='a',SLEEP(5),1) Пару слов о таблицах и колонках: id=678 and if(substring((select 1 from [table_name] limit 0,1),1,1)=1,SLEEP(5),1), где [table_name] - предполагаемое Вами название таблицы. Если вернется ЛОЖЬ, то ответ сервера будет 0 секунд (все зависит от Вашего канала) и такой таблицы нет. Если же ИСТИНА, и такая таблица существует, то ответ будет с задержкой в 5 секунд (и более). С колонками все идентично: id=678 and if(substring((select substring(concat(1,[column_name]),1,1) from [table_name] limit 0,1),1,1)=1,SLEEP(5),1) , где [column_name] - предполагаемое Вами название колонки. И, наконец, достаем данные: id=678 and if((select mid(column_name,1,1) from table_name limit 0,1)='a',sleep(5),1) Как только поймете, как это работает - написать скрипт, автоматизирующий данный процесс, не составит труда. Всем добра С уважением,YaBtr! Данная заметка предназначена для использования сугубо в учебных целях. Автор не несет ответственности за использование материала в незаконных целях. Администрация ресурса была уведомлена о данной уязвимости.
Прости, дружище, но это боян. Если ты заметил - я пытался рассмотреть эту технику в своём видео. И столкнулся с тем, что простой бинарный поиск и так все умеют делать, рассказывать там нечего. И да, если MQ on то твоя техника уже не рулит, пишешь не универсальную методику. Это плохо. Постарайся всё предусмотреть.