Перейти к содержимому
← Каталог python Info Disclosure

Information Disclosure: Flask Debug Mode

Flask запущен с debug=True. Через Werkzeug debugger можно получить переменные окружения.

easypythonPro
Задача
# Утечка через debug-режим Flask ## Сценарий Перед вами Flask-приложение — интернет-магазин IT-мерча. Приложение развёрнуто на боевом стенде, но при разработке кто-то оставил включённым режим отладки фреймворка. Когда в приложении возникает необработанное исключение, вместо стандартной страницы 500 пользователь видит детальную диагностическую информацию. Цель атаки — заставить приложение упасть с необработанной ошибкой, изучить, что показывает диагностический режим, и через возможности этого режима извлечь секретные данные процесса. ## Цели 1. Найдите в приложении функционал, на котором приложение падает с необработанной ошибкой. 2. Изучите, что отдаётся в ответе вместо стандартной страницы ошибки. 3. Извлеките CTF-флаг из секретных данных серверного процесса. ## Данные | Параметр | Значение | |----------|----------| | Обычный пользователь | `demo` / `demo` | > Подсказка по разведке: внимательно осмотрите страницы и API-эндпоинты, доступные после авторизации, и попробуйте подавать им необычные значения параметров. Один из endpoint'ов содержит ошибку в работе с БД, проявляющуюся при определённых входных данных.
🚧 Сайт в разработке. Полный функционал пока недоступен. Все вопросы — support@hackandfix.ru