
Лабораторная среда на основе Docker для изучения CVE-2024-4577, уязвимости внедрения аргументов PHP-CGI, с Apache и PHP 8.1.2 в режиме CGI.
Схема окружения
Контейнер операционной системы: ubuntu:22.04 (работает под Windows WSL2).
Слой веб-сервера: Apache2 с mod_actions, mod_cgi и mod_cgid, принудительно включенными глобально в основной apache2.conf.
Интерпретатор языка: PHP 8.1.2, работающий строго в режиме CGI/FastCGI (Server API).
Архитектура файлов: Функциональный каталог app/, содержащий исполняемый код (index.php) и симулированный ресурс задания.
Основные изучаемые механизмы уязвимости
Целевая уязвимость (CVE-2024-4577): Проблема внедрения аргументов, нацеленная на системы, где неаутентифицированные параметры передаются напрямую в исполняемый движок php-cgi.
Ограничение кодировки ОС: лаборатория успешно демонстрирует устаревший путь обработки CGI, подчеркивая различие платформ. Эксплойт в реальном мире зависит от Windows Best-Fit Mapping (где кодовые страницы, такие как CP936 или CP950, интерпретируют мягкие дефисы как стандартные дефисы после проверок веб-приложения). Поскольку контейнер работает на базе Ubuntu/UTF-8, он нативно устойчив к этой конкретной технике преобразования символов.
