
CVE-2024-4577 EXP
PHP es el acrónimo de Hypertext Preprocessor (Preprocesador de Hipertexto), es un lenguaje de scripting de código abierto ampliamente utilizado, especialmente adecuado para el desarrollo web y la inserción en HTML, y es muy sencillo de usar. CGI, llamado Interfaz de Puerta de Enlace Común en inglés, es el mecanismo mediante el cual Apache, cuando encuentra un script PHP, envía el programa PHP a la aplicación CGI (php-cgi.exe) para su interpretación. El resultado interpretado se devuelve a Apache y luego al usuario solicitante.
PHP ignoró la característica de conversión de caracteres Best-Fit de Windows durante su diseño. Cuando PHP-CGI se ejecuta en plataformas Windows y utiliza configuraciones regionales específicas (como chino simplificado 936, chino tradicional 950, japonés 932, etc.), un atacante puede construir cadenas de consulta especiales. Después de la decodificación de URL, estas cadenas pueden contener caracteres no ASCII específicos que el sistema Windows asigna a guiones, eludiendo así los parches CVE-2012-1823 y CVE-2012-2311, construyendo parámetros de línea de comandos en modo CGI y ejecutando código PHP arbitrario.
PHP para Windows 8.3.0 <= versión afectada < 8.3.8 PHP para Windows 8.2.0 <= versión afectada < 8.2.20 PHP para Windows 8.1.0 <= versión afectada < 8.1.29 PHP para Windows versión afectada == 8.0.x PHP para Windows versión afectada == 7.x PHP para Windows versión afectada == 5.x XAMPP para Windows 8.2.0 <= versión afectada <= 8.2.12 XAMPP para Windows 8.1.0 <= versión afectada <= 8.1.25 XAMPP para Windows versión afectada == 8.0.x XAMPP para Windows versión afectada == 7.x XAMPP para Windows versión afectada == 5.x
python CVE-2024-4577 --target http://192.168.1.1/index.php -c "<?php system('calc')?>"

Comente la siguiente configuración en C:\xampp\apache\conf\extra\httpd-xampp.conf y reinicie el servicio:
#
# 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>
Comente en C:/xampp/apache/conf/extra/httpd-xampp.conf:
# ScriptAlias /php-cgi/ "C:/xampp/php/"