Перейти к содержимому

Поиск по платформе

Information Disclosure: Открытый debug-эндпоинт

Debug-эндпоинт раскрывает переменные окружения и список пользователей без аутентификации

Автор: Hack & Fix
Освоишь: error-sanitizationstack-trace guardheaders hardening
Легко+30 XP ~12 мин golang
CWE-200 · A01:2021 Pro
Обложка: Information Disclosure: Открытый debug-эндпоинт Обложка: Information Disclosure: Открытый debug-эндпоинт
Задача
# Раскрытие информации: открытый диагностический эндпоинт ## Сценарий Вы — внешний аудитор сервиса онлайн-расписаний **CronDesk**. Разработчики завели внутренний диагностический маршрут, чтобы смотреть состояние процесса при отладке деплоев, и в спешке перед релизом оставили его в боевой сборке. SRE заметил в логах обращения к незнакомому пути с посторонних адресов и попросил вас оценить, что именно утечёт, прежде чем это найдут снаружи. ## Цель 1. Найдите служебный диагностический маршрут приложения и проверьте, применяется ли к нему авторизация. 2. Изучите состав ответа: какие категории данных — конфигурация, секреты, пользователи — раскрываются без входа. 3. Извлеките флаг лабы из ответа эндпоинта. ## Теория Диагностические и служебные маршруты — постоянный источник утечек в production: они появляются для отладки, облегчают жизнь разработчикам и уезжают в релиз незапланированно. Опасность не в самом «отладочном» выводе, а в сочетании: маршрут регистрируется одинаково во всех окружениях, без проверки роли или периметра, а в ответ попадают переменные окружения процесса — место, где приложения держат секреты: строки подключения, ключи и значения, предназначенные для проверки безопасности. **Уязвимый паттерн:** ```go // Служебный маршрут зарегистрирован без middleware-проверок: mux.HandleFunc("GET /debug", debugHandler) ``` Механика атаки: анонимный клиент запрашивает служебный путь и получает дамп конфигурации процесса вместе с перечнем зарегистрированных пользователей. Секреты из такого дампа компрометируют приложение целиком — от входа под чужими учётными записями до доступа к инфраструктуре. ## Точка входа атаки `GET /debug` — диагностический маршрут; аутентификация не требуется. * **Обычный пользователь (для знакомства с приложением):** `demo` / `demo`

Похожие лабораторные (4)

другие лабы по этой уязвимости
Обложка лабы: Information Disclosure: Утечка через backup-файлы Обложка лабы: Information Disclosure: Утечка через backup-файлы
Info Disc

Information Disclosure: Утечка через backup-файлы

Статическая директория содержит backup-файлы с конфиденциальными данными. Найдите SQL-дамп и извлеките флаг.

+30 XP
Python Pro
Exploit Fix
Обложка лабы: Information Disclosure: Flask Debug Mode Обложка лабы: Information Disclosure: Flask Debug Mode
Info Disc

Information Disclosure: Flask Debug Mode

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

+30 XP
Python Pro
Exploit Fix