
CVE-2024-4577 EXP
PHP ist die Abkürzung für Hypertext Preprocessor (Hypertext-Präprozessor) und heute eine weit verbreitete Open-Source-Skriptsprache, die besonders für die Webentwicklung und die Einbettung in HTML geeignet ist. Die Verwendung ist sehr einfach. CGI steht für Common Gateway Interface. Wenn Apache auf ein PHP-Skript stößt, wird das PHP-Programm an die CGI-Anwendung (php-cgi.exe) zur Interpretation übergeben. Das Ergebnis wird an Apache zurückgegeben, das es dann an den anfragenden Benutzer sendet.
PHP hat bei der Entwicklung das Best-Fit-Zeichenkonvertierungsfeature von Windows ignoriert. Wenn PHP-CGI auf einer Windows-Plattform läuft und bestimmte Sprachgebiete verwendet (z. B. vereinfachtes Chinesisch 936, traditionelles Chinesisch 950, Japanisch 932 usw.), kann ein Angreifer spezielle Abfragezeichenfolgen konstruieren. Nach der URL-Decodierung können diese Zeichenfolgen bestimmte nicht-ASCII-Zeichen enthalten, die unter Windows als Bindestrich abgebildet werden, wodurch die Patches für CVE-2012-1823 und CVE-2012-2311 umgangen werden, um CGI-Modus-Befehlszeilenparameter zu erstellen und beliebigen PHP-Code auszuführen.
PHP Windows-Version 8.3.0 <= betroffen < 8.3.8 PHP Windows-Version 8.2.0 <= betroffen < 8.2.20 PHP Windows-Version 8.1.0 <= betroffen < 8.1.29 PHP Windows-Version betroffen == 8.0.x PHP Windows-Version betroffen == 7.x PHP Windows-Version betroffen == 5.x XAMPP Windows-Version 8.2.0 <= betroffen <= 8.2.12 XAMPP Windows-Version 8.1.0 <= betroffen <= 8.1.25 XAMPP Windows-Version betroffen == 8.0.x XAMPP Windows-Version betroffen == 7.x XAMPP Windows-Version betroffen == 5.x
python CVE-2024-4577 --target http://192.168.1.1/index.php -c "<?php system('calc')?>"

Kommentieren Sie die folgende Konfiguration in C:\xampp\apache\conf\extra\httpd-xampp.conf aus und starten Sie den Dienst neu.
#
# 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>
Kommentieren Sie in C:/xampp/apache/conf/extra/httpd-xampp.conf aus:
# ScriptAlias /php-cgi/ "C:/xampp/php/"