
Von authentifizierter lokaler Dateieinbindung (Local File Inclusion) zur Remote-Codeausführung (Remote Code Execution) in SoftExpert Suite EQM.
Authentifizierte Local File Inclusion zu Remote Code Execution auf SoftExpert Excellence Suite EQM.
https://github.com/Filiplain/LFI-to-RCE-SE-Suite-2.0/tree/main/PoC

Der Forscher konnte eine PHP-Funktion "/se/v42300/generic/gn_defaultframe/2.0/defaultframe_filter.php" finden, die eine Datei mit der Erweiterung ".inc" in einem base64-kodierten Format über den Parameter “managerPath” in einer POST-Anfrage einbindet. Indem wir die “.inc”-Datei zum Beispiel in “C:\windows\win.ini” ändern und sie zurück in base64 konvertieren, erhalten wir diese Datei auf dem System.

Die PHP-Datei "defaultframe_filter.php" verwendet die Funktion "require_once()", um die Dateien einzubinden. Diese Funktion könnte es einem Angreifer ermöglichen, Remote Code auszuführen, indem vergiftete Logs eingebunden werden.

Durch die Analyse der Funktion “user_action.php” beim Hochladen eines neuen Profilbilds können wir feststellen, dass die Seite einen 401-Fehler ausgibt, wenn man ein ungültiges oder schädliches Bild hochlädt. Nachdem der Fehler ausgelöst wurde, kann man die Logs erneut lesen und sehen, dass einige Parameter wie der “Referer”-Header protokolliert werden. Mit diesem Wissen können wir PHP-Code in den “Referer”-Header injizieren.

Nachdem wir versucht haben, das schädliche Bild hochzuladen und PHP-Code in den Referer zu injizieren, können wir das Log-Poisoning durch Lesen der Logs bestätigen.

Jetzt können wir Befehle ausführen, indem wir die Logs lesen. Befehl: whoami
