
CGI 모드에서 Apache와 PHP 8.1.2를 사용하는 PHP-CGI 인자 주입 취약점인 CVE-2024-4577 연구를 위한 Docker 기반 랩 환경입니다.
환경 청사진
운영 체제 컨테이너: ubuntu:22.04 (Windows WSL2에서 실행 중).
웹 서버 계층: mod_actions, mod_cgi, mod_cgid를 메인 apache2.conf에 전역으로 강제 적용한 Apache2.
언어 인터프리터: CGI/FastCGI 모드 (Server API)에서 엄격히 실행되는 PHP 8.1.2.
파일 구조: 실행 코드 (index.php)와 시뮬레이션된 챌린지 자산을 포함하는 실제 동작하는 app/ 디렉터리.
연구된 핵심 취약점 메커니즘
대상 결함 (CVE-2024-4577): 인증되지 않은 매개변수가 php-cgi 실행 엔진으로 직접 전달되는 시스템을 겨냥한 인자 주입 문제.
OS 인코딩 제약: 랩은 레거시 CGI 처리 경로를 성공적으로 시연하며, 이는 플랫폼 차이를 부각합니다. 실제 익스플로잇은 Windows Best-Fit 매핑 (웹 애플리케이션 검사 후 CP936 또는 CP950 같은 코드 페이지가 소프트 하이픈을 일반 하이픈으로 해석하는 방식)에 의존합니다. 컨테이너가 Ubuntu/UTF-8 기반 환경에서 실행되므로 해당 특정 문자 변환 기법에 본래 면역 상태입니다.
