
Python-Exploit-Klasse für CVE-2025-58360, eine XXE-Schwachstelle in der GetMap-Funktion von GeoServer, die das beliebige Lesen von Dateien ermöglicht. Beinhaltet automatisierte Ausnutzung und Datenexfiltration.
Der Code und die Informationen in diesem Repository dienen ausschließlich zu Bildungs- und Forschungszwecken. Der Eigentümer des Repositorys übernimmt keine Verantwortung für das, was Sie mit dem Code und/oder den Informationen in diesem Repository tun. Ihre Handlungen sind Ihre eigenen. Bitte nutzen Sie dies legal und verantwortungsbewusst.
Die Python3-Klasse in der Datei exploit/exploiter.py (GeoDumper) automatisiert die Ausnutzung der XXE-Schwachstelle und speichert die preisgegebenen Informationen in einer lokalen Datei.
Beispiel:
import exploit.exploiter as exploiter
target_ip = "localhost"
secure = False
geoserver_path = "geoserver"
dumper = exploiter.GeoDumper(target_ip=target_ip, geoserver_path=geoserver_path, is_secure=secure)
(data, filename) = dumper.dump_file(target_file)
print(f"[+] data saved to \"{filename}\"")
print(f"[+] Data:\n{data.decode("utf-8")}")
Die betreffende Schwachstelle nutzt eine unsachgemäß bereinigte XML-Eingabe an die GetMap-Funktion aus, was zu einem beliebigen Dateilesen durch einen Angreifer führt.
Weitere Informationen und bessere Erklärungen/Aufschlüsselungen der Schwachstelle finden Sie in den folgenden Links.
Hinweis: Ich habe die Schwachstelle nicht entdeckt und keine damit verbundenen Recherchen durchgeführt. Dieser Code und dieses Repository wurden erstellt, während ich den dazugehörigen Raum auf TryHackMe absolvierte.