
Ambiente di laboratorio basato su Docker per lo studio di CVE-2024-4577, una vulnerabilità di injection degli argomenti PHP-CGI, con Apache e PHP 8.1.2 in modalità CGI.
Blueprint dell'ambiente
Container del sistema operativo: ubuntu:22.04 (in esecuzione su Windows WSL2).
Livello del server web: Apache2 con mod_actions, mod_cgi e mod_cgid forzati globalmente nel file apache2.conf principale.
Interprete del linguaggio: PHP 8.1.2 in esecuzione esclusivamente in modalità CGI/FastCGI (Server API).
Architettura dei file: una directory funzionale app/ che ospita il codice di esecuzione (index.php) e una risorsa simulata della challenge.
Meccaniche principali della vulnerabilità studiate
La falla bersaglio (CVE-2024-4577): un problema di injection di argomenti che prende di mira i sistemi in cui parametri non autenticati passano direttamente al motore eseguibile php-cgi.
Il vincolo di codifica del sistema operativo: il lab dimostra con successo il percorso di elaborazione CGI legacy, evidenziando una differenza tra piattaforme. Lo sfruttamento nel mondo reale dipende dalla mappatura Best-Fit di Windows (dove code page come CP936 o CP950 interpretano i soft hyphen come trattini standard dopo i controlli dell'applicazione web). Poiché il container gira su una base Ubuntu/UTF-8, rimane nativamente immune a quella specifica tecnica di conversione dei caratteri.
