PDA

Просмотр полной версии : SQL-INJ, Помогите) stacked queries.


Leendesst
23.06.2018, 13:09
Здравствуйте, уважаемые форумчане. Столкнулся с такой забавной дырой. Крутится как error-based, тайм блинд и просто как блиндовая. Но нужно раскрутить как stacked queries.

Вот уязвимый код.


query("SELECT * FROM group WHERE name='$123'");
if($sv->num_rows($select)){
$sv->query("DELETE FROM group WHERE name='$123' AND type ='1' OR name='$123' AND type='0'");
$st->query("INSERT INTO logs VALUES(null, '$1234', '$123' , '".time()."')");
echo" Разбанен";
}
else echo"Ошибка";
}
else echo"Ошибка";
?>


Если юзать POST зпрос, натыкаемся на SELECT. Вроде как можно через Cookie внедрить stacked queries.

Условие: Запрос происходит только тогда, если в бд есть запись, в моём случае в таблице всего 3 записи = 3 попытки

crlf
23.06.2018, 18:07
Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.

Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:


123'; INSERT INTO known_table VALUES(1,2,3,4,5...etc); -- 1


И посмотреть на результат в выводе из таблицы "known_table".

Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:


123',(SELECT version()), '1529762427') -- 1

Leendesst
23.06.2018, 20:10
↑ (https://antichat.live/posts/4220555/)
Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.
Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:
И посмотреть на результат в выводе из таблицы "known_table".
Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:


Спасибо за отклик) Не вышло, ибо query поддерживает только 1 запрос(

Может кому эта тема ещё пригодится, так как "stacked queries" очень полезная вещь, но редкая(

Scipio
24.06.2018, 21:37
могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован

Leendesst
24.06.2018, 23:32
↑ (https://antichat.live/posts/4220805/)
могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован


Ну слушай. Недавно сливал сайтец, там sqlmap смог взять как stacked queries, там MySQL

Scipio
24.06.2018, 23:39
Ну может слишком специфичное php-приложение (в pma тоже можно stacked queries делать), либо как uговорится одно из двух)