
Proof-of-Concept-Exploit für CVE-2022-29464, der uneingeschränkten Datei-Upload und Remote-Code-Ausführung auf verwundbaren WSO2-Produkten ermöglicht, mit einer benutzerdefinierten JSP-Shell für Befehlsausführung und Datei-Exfiltration.
Bestimmte WSO2-Produkte ermöglichen uneingeschränkten Dateiupload mit anschließender Remote-Code-Ausführung. Der Angreifer muss einen /fileupload-Endpunkt mit einer Content-Disposition-Directory-Traversal-Sequenz verwenden, um ein Verzeichnis unter dem Webroot zu erreichen, z. B. ein ../../../../repository/deployment/server/webapps-Verzeichnis.
python3 main.py https://example.com shell.jsp
Ersetzen Sie https://example.com durch den verwundbaren Server und shell.jsp durch einen Dateinamen, den Sie für den Upload verwenden möchten.
Bearbeiten Sie die Datei shell.jsp nach Belieben, aber die aktuelle Shell funktioniert auch einwandfrei (zumindest besser als andere JSP-Shells).
Diese Shell kann Ausgaben von stdout und stderr ernten. Befehle werden mit /bin/sh ausgeführt.
Meistens führen Systemadministratoren WSO2-Produkte als Superuser aus. Mit diesem Exploit erhalten Sie auf dem gesamten System.
Die Datenbankdateien befinden sich im Verzeichnis ~/repository/database.
Sie können die IntelliJ IDEA verwenden, um H2-Datenbanken zu öffnen, wie hier beschrieben.
Mit diesem Exploit können Sie jede Datei aus einem beliebigen Verzeichnis nach ~/repository/deployment/server/webapps/authenticationendpoint kopieren. Das Verzeichnis authenticationendpoint dient JSP-Dateien aus, kann aber auch zum Bereitstellen anderer Dateien verwendet werden.
Beispiel:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
Dieser Befehl kopiert die Hauptdatenbankdatei in ein Verzeichnis, von dem aus wir sie herunterladen können.
Ich bin nicht verantwortlich für einen Atomkrieg oder dafür, dass Sie verhaftet werden. Verwenden Sie diesen Exploit nur in einer Testumgebung.