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

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

Information Disclosure: Утечка через файлы бэкапов

FileServer раздаёт .env и .bak файлы из корня проекта

Автор: Hack & Fix
Освоишь: error-sanitizationstack-trace guardheaders hardening
Легко+30 XP ~12 мин golang
CWE-200 · A01:2021 Pro
Обложка: Information Disclosure: Утечка через файлы бэкапов Обложка: Information Disclosure: Утечка через файлы бэкапов
Задача
# Information Disclosure: утечка через файловый сервер ## Сценарий Вы — внешний исследователь, изучающий публичную часть интернет-магазина **ПрофиМаркет**. У приложения есть отдельный «файловый» эндпоинт: команда планировала раздавать через него статику — картинки и стили, — но при настройке указала корнем не директорию со статикой, а весь проект. А при старте приложение для удобства отладки выгружает рантайм-конфигурацию с секретами в файл рядом с исходниками. Внутренний аудит уверен: эта комбинация отдаёт флаг лабы по HTTP без всякой авторизации. ## Цель 1. Изучите файловый эндпоинт: какова граница его корня и работает ли листинг — можно ли увидеть файлы за пределами директории статики. 2. Найдите выгруженный конфигурационный или резервный файл с чувствительными данными рантайма. 3. Извлеките флаг из найденного файла. ## Теория Information Disclosure / Sensitive File Exposure — класс уязвимостей, при которых сервер раздаёт по HTTP файлы, которые должны были остаться вне публичной зоны: резервные копии, dot-файлы конфигурации, сборочные артефакты, исходники, дампы БД (CWE-538, OWASP A05:2021 Security Misconfiguration). В реальных инцидентах так утекают облачные ключи, приватные ключи и пользовательские данные. **Уязвимый паттерн:** ```go // файловый сервер с корнем "." раздаёт весь проект, а не только статику fs := http.FileServer(http.Dir(".")) mux.Handle("GET /files/", http.StripPrefix("/files/", fs)) ``` Стандартный `http.FileServer` рекурсивно отдаёт всё содержимое указанной директории, включая dot-файлы и поддиректории. Если корнем указан каталог проекта, HTTP-клиент получает весь репозиторий. Дополнительный риск — листинг: запрос пути со слэшем на конце выводит список файлов, превращая поиск секретов в перебирание ссылок. ## Точка входа атаки `GET /files/` — файловый эндпоинт с листингом директорий; авторизация не требуется. * Анонимный доступ — учётная запись не нужна

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

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

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

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

+30 XP
Go Pro
Exploit Fix
Обложка лабы: 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