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

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

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

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

Автор: Hack & Fix
Освоишь: error-sanitizationstack-trace guardheaders hardening
Легко+30 XP ~12 мин python
CWE-200 · A01:2021 Pro
Обложка: Information Disclosure: Утечка через backup-файлы Обложка: Information Disclosure: Утечка через backup-файлы
Задача
# Утечка через backup-файлы ## Сценарий **MerchoLab** — интернет-магазин IT-мерча. После недавнего релиза разработчик копировал дамп базы и рабочую конфигурацию в публичную статическую директорию, чтобы быстро забрать их из окружения, — и забыл удалить. Руководитель инженерного отдела поручил вам проверить, остался ли после релиза «мусор», доступный из веба, и что он раскрывает. ## Цель 1. Проведите разведку публичной части приложения и найдите служебный файл, перечисляющий скрытые ресурсы. 2. Обнаружьте резервные копии, доступные без авторизации. 3. Извлеките CTF-флаг из резервной копии базы данных. ## Теория Утечка через backup-файлы (CWE-538) — классическая история релизного конвейера: резервная копия или конфигурация попадает в директорию, которую веб-сервер отдаёт целиком, без проверки посетителя. Классический ускоритель утечки — служебный файл для поисковых роботов: владелец запрещает индексацию конфиденциальных путей, и тем самым публикует их точный список. **Уязвимый паттерн:** ```python @app.route('/static/db_backup.sql') def serve_backup(): # дамп с ключами и паролями — без проверки доступа ``` Запрет индексации — рекомендация для ботов, а не контроль доступа: любой HTTP-клиент запрашивает перечисленные пути напрямую. Дамп базы отдаётся как обычная статика: внутри — хеши паролей, ключи сервисов и секретная строка с флагом. Класс проблемы — Security Misconfiguration (OWASP A05:2021). ## Точка входа атаки `GET /robots.txt` — служебный файл для поисковых роботов; затем `GET`-запросы по путям из него. Авторизация не требуется. * **Обычный пользователь (для проверки штатного функционала):** `demo` / `demo`

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

другие лабы по этой уязвимости
Обложка лабы: 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
Обложка лабы: Information Disclosure: Утечка через Stack Trace Обложка лабы: Information Disclosure: Утечка через Stack Trace
Info Disc

Information Disclosure: Утечка через Stack Trace

Ошибки сервера возвращают полные stack traces с путями файлов, SQL-схемой и переменными.

+30 XP
Python Pro
Exploit Fix
Обложка лабы: Information Disclosure: Открытый debug-эндпоинт Обложка лабы: Information Disclosure: Открытый debug-эндпоинт
Info Disc

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

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

+30 XP
Go Pro
Exploit Fix