
Environnement de laboratoire basé sur Docker pour étudier CVE-2024-4577, une vulnérabilité d'injection d'arguments PHP-CGI, avec Apache et PHP 8.1.2 en mode CGI.
Plan de l'environnement
Conteneur système d'exploitation : ubuntu:22.04 (sous Windows WSL2).
Couche serveur Web : Apache2 avec mod_actions, mod_cgi et mod_cgid forcés globalement dans le fichier apache2.conf principal.
Interpréteur de langage : PHP 8.1.2 fonctionnant strictement en mode CGI/FastCGI (API serveur).
Architecture des fichiers : Un répertoire app/ fonctionnel hébergeant le code d'exécution (index.php) et un actif de défi simulé.
Mécanismes de vulnérabilité centrale étudiés
La faille cible (CVE-2024-4577) : Un problème d'injection d'arguments qui cible les systèmes où des paramètres non authentifiés passent directement dans le moteur exécutable php-cgi.
La contrainte d'encodage du système d'exploitation : le laboratoire démontre avec succès le chemin de traitement CGI hérité, il met en évidence une différence de plateforme. L'exploit réel dépend du mappage Best-Fit de Windows (où les pages de code comme CP936 ou CP950 interprètent les traits d'union conditionnels comme des traits d'union standard après les vérifications de l'application web). Comme le conteneur fonctionne sur une base Ubuntu/UTF-8, il reste nativement immunisé contre cette technique de conversion de caractères spécifique.
