🏥 Клиника [клик]
Уязвимость Second-Order SQL Injection в обработчике /update-password. Хотя регистрация и вход используют параметризованные запросы, имя пользователя из сессии подставляется в SQL-запрос обновления пароля через обычную шаблонную строку.
Это позволяет использовать «отравленный» логин для атаки на базу данных. Регистрируем аккаунт с пейлоадом в качестве имени пользователя:
admin' --
После входа под этим аккаунтом значение попадает в сессию. При смене пароля в настройках профиля сервер выполнит инъекцию: кавычка закроет поле username, а символы -- закомментируют остаток оригинального запроса.
В результате SQL-запрос изменит пароль не нам, а администратору:
UPDATE users SET password = '[hash]' WHERE username = 'admin' --'
Заходим под admin с новым паролем и забираем флаг в панели управления.
💬 Канал & Чат | 📺 RUTUBE | 📺 YouTube