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

Path Traversal: /proc Leak

Обработчик скачивания файлов не блокирует /proc/self/environ — утечка секретов через переменные окружения.

hardpythonPro
Задача
# Path Traversal: blacklist-«jail» с дырой ## Сценарий Перед вами Flask-приложение интернет-магазина SecureShop. Эндпоинт скачивания изображений товаров принимает имя файла из параметра запроса и возвращает содержимое из директории со статикой. В отличие от первых двух Path Traversal-задач, здесь разработчик уже хорошо знаком с классом проблемы и реализовал нетривиальную «jail»-проверку: путь нормализуется, классические traversal-последовательности отбрасываются, явный выход за пределы базовой директории блокируется. Однако в логике защиты есть одно осознанное (или ошибочное) исключение: разработчик полагал, что один особый класс «системных» путей не несёт риска, и пропускает их через проверку. На самом деле именно этот класс путей в Linux даёт прямой доступ к секретам процесса — включая переменные окружения, в которых живёт CTF-флаг. ## Цели 1. Найдите эндпоинт скачивания файлов и убедитесь, что классические traversal-последовательности (`../`) корректно блокируются проверкой. 2. Эмпирически найдите класс путей, на который проверка не срабатывает: запросы с такими путями должны проходить и возвращать контент. 3. Через path-traversal в этот класс путей прочитайте секреты процесса и извлеките CTF-флаг прямо из ответа. ## Данные | Параметр | Значение | |----------|----------| | Обычный пользователь | `demo` / `demo` |
🚧 Сайт в разработке. Полный функционал пока недоступен. Все вопросы — support@hackandfix.ru