Просмотр полной версии : 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 попытки
Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.
Есть первая инъекция в селекте, если БД или приложение имеет поддержку "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" очень полезная вещь, но редкая(
могу ошибаться, но если 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
Ну может слишком специфичное php-приложение (в pma тоже можно stacked queries делать), либо как uговорится одно из двух)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot