
# Docker-Lab zur Demonstration von CVE-2026-17532, einer unauthentifizierten reflektierten XSS in Seraphinite Accelerator, die über eine Admin-Sitzung zu RCE führt, mit Exploit-Skript und Web-Shell.
Ein Docker-Lab für CVE-2026-17532, ein unauthentifiziertes reflektiertes XSS im WordPress-Plugin Seraphinite Accelerator, das sich in Remote-Code-Ausführung verwandelt, sobald ein angemeldeter Administrator einen einzigen präparierten Link öffnet.
Ausführlicher Artikel: BLOG
python3 oder php auf dem Host (nur zum Erstellen der Exploit-URL - exploit.sh verwendet, was vorhanden ist)docker compose down -v # alte Daten bereinigen
docker compose up -d
docker compose logs -f wpcli
Warten Sie auf LAB READY, dann drücken Sie Strg-C. WordPress läuft nun unter mit dem verwundbaren Plugin und aktiviertem Seiten-Caching.
http://127.0.0.1:8080Der wpcli-Container ist ein Einmal-Installer; er beendet sich nach der Einrichtung. Das ist normal.
Melden Sie sich als Admin unter http://127.0.0.1:8080/wp-admin an
adminadmin-lab-pwErstellen Sie die präparierte URL und öffnen Sie sie im selben Browser:
./exploit.sh # oder: ./exploit.sh http://127.0.0.1:8080
Die Seite hängt für ~5 Sekunden - das ist ein wörtliches sleep( 5 ) im selfTest-Zweig des Plugins, kein defektes Lab. Dann läuft das XSS, schreibt die Web-Shell mit Ihrer Admin-Sitzung und protokolliert die Shell-URL in der Browser-Konsole.
http://127.0.0.1:8080/wp-content/plugins/hello.php?c=id
Oder öffnen Sie sie ohne ?c= für ein interaktives Eingabefeld.
xss.js läuft in der Admin-Sitzung und im selben Ursprung, sodass es Folgendes kann:
GET wp-admin/plugin-editor.php ausführen und die einmalige Editor-Nonce aus dem HTML extrahieren.POST an admin-ajax.php mit action=edit-theme-plugin-file senden und eine PHP-Web-Shell in hello.php schreiben.Warum hello.php? Weil es inaktiv ist. Wenn Sie ein aktives Plugin bearbeiten und die Änderung die Website zum Absturz bringen würde, erkennt WordPress den Fehler und macht die Datei rückgängig. Inaktive Plugins überspringen diese Prüfung, sodass die Shell geschrieben wird und geschrieben bleibt. Jede beschreibbare inaktive Plugin-Datei funktioniert; hello.php wird standardmäßig mit WordPress ausgeliefert.
Das gesamte Skript ist in die präparierte URL eingebettet, sodass kein Angreifer-Server benötigt wird.
docker compose down -v