
whs 4. Container-Aufgabe
WHS 4. Container-Aufgabe
Apache HTTPD ist ein weit verbreiteter HTTP-Server, der über mod_php PHP-Webseiten ausführen kann. In den Versionen 2.4.0 bis 2.4.29 existiert eine Schwachstelle in der Syntaxanalyse, die dazu führt, dass Dateien mit der Endung .php als 1.php\x0A PHP-Datei erkannt werden, sodass ein Angreifer bestimmte Server-Sicherheitsrichtlinien umgehen kann.
https://httpd.apache.org/security/vulnerabilities_24.html https://security.elarlang.eu/cve-2017-15715-apache-http-server-filesmatch-bypass-with-a-trailing-newline-at-the-end-of-the-file-name.html
Führen Sie die folgenden Befehle aus, um einen anfälligen Apache HTTPD-Server einzurichten ''' docker compose build docker compose up -d '''
Wenn der Server gestartet ist, läuft Apache unter http://my-ip:8080, das basierend auf meiner IP-Adresse generiert wurde.
Wenn Sie zuerst eine Datei namens 1.php hochladen, wird die Anfrage aufgrund der Sicherheitsprüfung mit der Meldung "bad file" abgelehnt.

Wenn Sie jedoch ein Zeilenumbruchzeichen hinzufügen und 1.php erneut hochladen, wird der Upload erfolgreich durchgeführt. (Dies wurde in Burp Suite durch Hinzufügen von 0a neben dem Namen im Hex-Wert erreicht.)

Wenn Sie auf '/1.php%0a' zugreifen, wird es erfolgreich als PHP-Datei geparst, obwohl keine passende PHP-Erweiterung vorhanden ist. Dies bestätigt das Vorhandensein einer Parsing-Schwachstelle.
