ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

23.06.2018, 13:09
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Здравствуйте, уважаемые форумчане. Столкнулся с такой забавной дырой. Крутится как error-based, тайм блинд и просто как блиндовая. Но нужно раскрутить как stacked queries.
Вот уязвимый код.
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM group WHERE name='$123'"[/COLOR][COLOR="#007700"]); if([/COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$select[/COLOR][COLOR="#007700"])){ [/COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"DELETE FROM group WHERE name='$123' AND type='1' OR name='$123' AND type='0'"[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$st[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO logs VALUES(null, '$1234', '$123', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]); echo[/COLOR][COLOR="#DD0000"]" Разбанен"[/COLOR][COLOR="#007700"]; } else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"]; } else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]?> [/COLOR][/COLOR]
Если юзать POST зпрос, натыкаемся на SELECT. Вроде как можно через Cookie внедрить stacked queries.
Условие: Запрос происходит только тогда, если в бд есть запись, в моём случае в таблице всего 3 записи = 3 попытки
|
|
|
|

23.06.2018, 18:07
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|
Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.
Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:
Сообщение от None
123'; INSERT INTO known_table VALUES(1,2,3,4,5...etc); -- 1
И посмотреть на результат в выводе из таблицы "known_table".
Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:
Сообщение от None
123',(SELECT version()), '1529762427') -- 1
|
|
|
|

23.06.2018, 20:10
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Сообщение от crlf
crlf said:
↑
Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.
Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:
И посмотреть на результат в выводе из таблицы "known_table".
Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:
Спасибо за отклик) Не вышло, ибо query поддерживает только 1 запрос(
Может кому эта тема ещё пригодится, так как "stacked queries" очень полезная вещь, но редкая(
|
|
|
|

24.06.2018, 21:37
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован
__________________
Карфаген должен быть разрушен...
|
|
|

24.06.2018, 23:32
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Сообщение от Scipio
Scipio said:
↑
могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован
Ну слушай. Недавно сливал сайтец, там sqlmap смог взять как stacked queries, там MySQL
|
|
|
|

24.06.2018, 23:39
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
Ну может слишком специфичное php-приложение (в pma тоже можно stacked queries делать), либо как uговорится одно из двух)
__________________
Карфаген должен быть разрушен...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|