
CVE-2024-4577 EXP
PHP sta per Hypertext Preprocessor, ed è un linguaggio di scripting open source ampiamente utilizzato, particolarmente adatto per lo sviluppo web e per l'incorporamento in HTML. È molto semplice da usare. CGI, chiamato in inglese Common Gateway Interface, è il meccanismo con cui Apache, quando incontra script PHP, li invia all'applicazione CGI (php-cgi.exe) per essere interpretati. Il risultato dell'interpretazione viene restituito ad Apache, che a sua volta lo restituisce all'utente richiedente.
PHP, durante la progettazione, ha ignorato la caratteristica di conversione dei caratteri Best-Fit di Windows. Quando PHP-CGI viene eseguito su piattaforma Windows e utilizza determinati set di caratteri (ad esempio cinese semplificato 936, cinese tradizionale 950, giapponese 932, ecc.), un attaccante può costruire stringhe di query speciali. Dopo la decodifica URL, queste stringhe possono contenere determinati caratteri non ASCII che, sui sistemi Windows, vengono mappati in trattini, bypassando così le patch di CVE-2012-1823 e CVE-2012-2311, consentendo di costruire parametri della riga di comando in modalità CGI ed eseguire codice PHP arbitrario.
PHP versione Windows 8.3.0 <= versione interessata < 8.3.8 PHP versione Windows 8.2.0 <= versione interessata < 8.2.20 PHP versione Windows 8.1.0 <= versione interessata < 8.1.29 PHP versione Windows versione interessata == 8.0.x PHP versione Windows versione interessata == 7.x PHP versione Windows versione interessata == 5.x XAMPP versione Windows 8.2.0 <= versione interessata <= 8.2.12 XAMPP versione Windows 8.1.0 <= versione interessata <= 8.1.25 XAMPP versione Windows versione interessata == 8.0.x XAMPP versione Windows versione interessata == 7.x XAMPP versione Windows versione interessata == 5.x
python CVE-2024-4577 --target http://192.168.1.1/index.php -c "<?php system('calc')?>"

Commentare la seguente configurazione in C:\xampp\apache\conf\extra\httpd-xampp.conf e riavviare il servizio.
#
# PHP-CGI setup
#
# <FilesMatch "\.php$">
# SetHandler application/x-httpd-php-cgi
# </FilesMatch>
# <IfModule actions_module>
# Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
# </IfModule>
Commentare C:/xampp/apache/conf/extra/httpd-xampp.conf
# ScriptAlias /php-cgi/ "C:/xampp/php/"