
Docker-basierte Laborumgebung zum Studieren von CVE-2024-4577, einer PHP-CGI-Argumentinjektions-Schwachstelle, mit Apache und PHP 8.1.2 im CGI-Modus.
Umgebungs-Blueprint
Betriebssystem-Container: ubuntu:22.04 (ausgeführt unter Windows WSL2).
Webserver-Schicht: Apache2 mit mod_actions, mod_cgi und mod_cgid, global in die Haupt-apache2.conf erzwungen.
Sprachinterpreter: PHP 8.1.2, der streng unter CGI/FastCGI-Modus (Server API) läuft.
Dateiarchitektur: Ein funktionales app/-Verzeichnis, das Ausführungscode (index.php) und eine simulierte Challenge-Ressource hostet.
Kernmechaniken der untersuchten Schwachstelle
Das Ziel-Schwachstelle (CVE-2024-4577): Ein Argument-Injektionsproblem, das Systeme betrifft, bei denen nicht authentifizierte Parameter direkt in die php-cgi-Ausführungsengine übergeben werden.
Die Betriebssystem-Codierungseinschränkung: Das Lab demonstriert erfolgreich den Legacy-CGI-Verarbeitungspfad und hebt einen Plattformunterschied hervor. Der reale Exploit hängt vom Windows Best-Fit Mapping ab (bei dem Codepages wie CP936 oder CP950 weiche Bindestriche nach Webanwendungsprüfungen als normale Bindestriche interpretieren). Da der Container auf einer Ubuntu/UTF-8-Basis läuft, bleibt er nativ immun gegen diese spezifische Zeichenkonvertierungstechnik.
