Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
POC-WP-XSS2Shell-CVE-2026-64638 — Funktionaler PoC für CVE-2026-64638 (XSS2Shell): Pre-Auth-XSS-zu-RCE-Kette in WordPress Core. Docker-Labor + Python-Angriffsserver + technische Analyse und Mitigation. | Kitploit
Tools/GitHubGitHub/686f6c61/poc-wp-xss2shell-cve-2026-64638
SchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungPayload-EntwicklungLabs & Praxis
GitHub686f6c61/poc-wp-xss2shell-cve-2026-64638

POC-WP-XSS2Shell-CVE-2026-64638

Funktionaler PoC für CVE-2026-64638 (XSS2Shell): Pre-Auth-XSS-zu-RCE-Kette in WordPress Core. Docker-Labor + Python-Angriffsserver + technische Analyse und Mitigation.

Repository anzeigen
12vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

XSS2Shell — PoC für CVE-2026-64638

Educationeller Proof of Concept der XSS2Shell-Kette (CVE-2026-64638), einer Pre-Authentifizierungs-Schwachstelle (XSS → RCE) im WordPress Core, eigenständig entdeckt von pwn.ai und am 7. August 2026 veröffentlicht.


Inhaltsverzeichnis

  1. Zusammenfassung
  2. Rechtlicher Hinweis
  3. Architektur der Angriffskette
  4. Voraussetzungen
  5. Repository-Struktur
  6. Schnellstartanleitung
  7. Verifizierung des Exploits
  8. Zusätzliche Dokumentation

Zusammenfassung

CVE-2026-64638 ist eine Pre-Authentifizierungs-Schwachstelle für reflektiertes Cross-Site-Scripting (XSS) im Anmeldebildschirm von WordPress (wp-login.php). Sie betrifft alle unterstützten Versionen von WordPress vor 7.0.3, die am 6. August 2026 als Notfall-Security-Release veröffentlicht wurde. Ihr wurde ein CVSS v4.0 von 8.9 zugewiesen.

Die als XSS2Shell getaufte Kette demonstriert, wie ein Angreifer – ausgehend allein von einem fehlgeschlagenen -Versuch mit manipuliertem – Folgendes tun kann:

Login
Benutzernamen
  1. Lebendige DOM-Elemente in die Login-Seite zu injizieren, indem eine Diskrepanz zwischen zwei syntaktischen Analysatoren ausgenutzt wird: PHP (strip_tags) und WordPress (wp_kses_post).
  2. Den Ausführungsfluss des eigenen WordPress-JavaScripts (user-profile.js) zu kapern, um eine REST-JSONP-Anfrage an denselben Ursprung zu senden.
  3. Die JSONP-Antwort über jQuery.globalEval() in JavaScript-Ausführung im WordPress-Ursprung umzuwandeln.
  4. Dies mit der Technik Same Origin Method Execution (SOME) von Paulos Yibelo (2022) zu verketten, um in der authentifizierten Sitzung eines Administrators automatisch auf den Genehmigungs-Button der Application Passwords zu klicken.
  5. Die resultierende Application Password zu erfassen, eine Seite mit bösartigem JavaScript zu veröffentlichen und schließlich ein Plugin im ZIP-Format hochzuladen, das PHP auf dem Server ausführt.

Das Ergebnis ist Remote Code Execution (RCE) auf dem WordPress-Server unter dem Benutzer des Web-Prozesses (typischerweise www-data) – ausgehend von einem einzigen Klick des Administrators auf einen vom Angreifer kontrollierten Link.


Rechtlicher Hinweis

Dieses Repository enthält streng lehr- und verteidigungsorientiertes Material.

  • Zweck: Demonstration der Exploit-Kette zu Schulungszwecken, für eigene Audits und zur Validierung von Patches.
  • Autorisierte Nutzung: Führe sie ausschließlich gegen WordPress-Installationen aus, die dir gehören oder für die du eine ausdrückliche schriftliche Genehmigung besitzt.
  • Verboten: Jegliche Nutzung gegen Systeme Dritter ohne Zustimmung. Der Autor des Repositorys übernimmt keine Haftung für missbräuchliche Verwendung des hier enthaltenen Materials.
  • Verantwortung: Der Betreiber ist allein für die Einhaltung der geltenden Gesetzgebung verantwortlich (LOPD/DSGVO in Spanien, CFAA in den USA usw.).

Die PoC wird mit einer eigenständigen Docker-Umgebung geliefert, die ausschließlich als lokales und reproduzierbares Angriffsziel dient.


Architektur der Angriffskette

root@kitploit:~
┌─────────────────────────────────────────────────────────────────────┐
│  1. XSS pre-auth en wp-login.php                                    │
│     log=< area id=ajaxurl href=/?rest_route=/&_jsonp=...>           │
│     (discrepancia strip_tags ↔ wp_kses_post)                        │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  2. user-profile.js dispara .trigger('click')                       │
│     DOM clobbering de ajaxurl → petición POST al origen             │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  3. REST JSONP responde application/javascript                      │
│     jQuery.globalEval() ejecuta el callback en el origen WP         │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  callback = window.opener
                                           │            .approve.click
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  4. SOME: click() cruza la frontera opener→admin                    │
│     authorize-application.php#approve se pulsa en sesión admin      │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  5. WP crea Application Password → redirige a success_url           │
│     El atacante captura user_login + password en callback.php       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  HTTP Basic REST
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  6. POST /wp-json/wp/v2/pages  → publica página con <script>        │
│     El admin visita la página → JS en origen WP con sesión admin    │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  7. fetch update.php?action=upload-plugin  → sube payload.zip       │
│     PHP del plugin es accesible directamente sin activarlo          │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  8. RCE confirmada: GET /wp-content/plugins/payload/shell.php       │
└─────────────────────────────────────────────────────────────────────┘

Voraussetzungen

Die PoC ist für die Ausführung unter macOS oder Linux ausgelegt und benötigt:

  • Docker 24+ und Docker Compose v2 (für das lokale Angriffsziel).
  • Python 3.9+ (für den optionalen Orchestrator).
  • PHP 8.1+ mit zip-Erweiterung (für die manuelle Erstellung des Payloads, optional; das bereits erstellte ZIP ist in payload/ enthalten).
  • Einen modernen Browser auf Chromium- oder Firefox-Basis.

WordPress muss nicht manuell installiert werden: Die docker-compose.yml startet ein verwundbares WordPress 7.0.2 (die letzte Version vor dem Patch) zusammen mit MariaDB.


Repository-Struktur

root@kitploit:~
POC XSS2Shell (CVE-2026-64638)/
├── README.md                       ← Este archivo
├── docker-compose.yml              ← Blanco: WordPress 7.0.2 + MariaDB
├── .env.example                    ← Variables de configuración
├── exploit.py                      ← Orquestador en Python (opcional)
├── attacker/                       ← Infraestructura del atacante
│   ├── index.html                  ← Página cebo con la cadena SOME
│   ├── callback.php                ← Receptor de la Application Password
│   └── server.py                   ← Servidor estático + PHP embebido
├── payload/                        ← Plugin ZIP malicioso
│   ├── build_payload.py            ← Generador del ZIP
│   ├── shell.php                   ← Webshell mínimo
│   └── payload.zip                 ← ZIP preconstruido (listo para usar)
└── docs/
    ├── ANALISIS.md                 ← Análisis técnico detallado
    └── MITIGACION.md               ← Guía de mitigación y hardening

Schnellstartanleitung

1. Angriffsziel starten (verwundbares WordPress 7.0.2)

root@kitploit:~
cp .env.example .env
docker compose up -d

WordPress ist anschließend unter http://localhost:8080 erreichbar. Folge dem Installationsassistenten und erstelle einen Administrator-Benutzer (z. B. admin / admin-password).

Das Dockerfile verankert das Image auf wordpress:7.0.2-php8.2-apache, der letzten Version vor dem Patch 7.0.3.

2. Angreifer-Infrastruktur starten

root@kitploit:~
# En otro terminal, dentro de attacker/
python3 server.py

Der Angreifer-Server lauscht auf http://localhost:9000 und stellt bereit:

  • / → index.html (die Köderseite).
  • /callback.php → Empfänger der Application Password.

3. Den Klick des Administrators simulieren

  1. Melde dich als Administrator unter http://localhost:8080/wp-admin an.
  2. Öffne in der gleichen Browser-Sitzung einen neuen Tab und besuche http://localhost:9000/.
  3. Du siehst einen einzelnen Button «Approve Application». Ein Klick darauf führt die gesamte Kette automatisch aus.

4. Erfassen der Anmeldedaten beobachten

Im Terminal, in dem server.py läuft, erscheint eine Zeile wie:

root@kitploit:~
[+] Application Password recibida para el usuario 'admin':
    XXXX XXXX XXXX XXXX XXXX XXXX

Die Anmeldedaten werden zusätzlich in attacker/captured_credentials.txt gespeichert.

5. Den RCE sehen

Nach einigen Sekunden hat der Orchestrator von index.html Folgendes getan:

  • Eine Seite veröffentlicht, die JavaScript im WordPress-Ursprung ausführt.
  • Das Plugin payload.zip nach wp-content/plugins/payload/ hochgeladen.

Überprüfe die Codeausführung mit:

root@kitploit:~
curl -sI http://localhost:8080/wp-content/plugins/payload/shell.php

Ein Header Hacked: true und ein JSON-Body bestätigen den RCE.


Verifizierung des Exploits

Sobald die Kette abgeschlossen ist, dienen die folgenden Endpunkte als Nachweis:

RecursoEvidencia esperada
GET /wp-content/plugins/payload/shell.phpCabecera Hacked: true + JSON {"rce":true,"user":"www-data"}
attacker/captured_credentials.txtApplication Password capturada
wp-admin → Aplicaciones → Contraseñas de aplicaciónUna nueva entrada llamada «SomeApp»

Zusätzliche Dokumentation

  • docs/ANALISIS.md — Detaillierte technische Analyse jeder Phase der Kette, einschließlich Verweisen auf den WordPress-Quellcode.
  • docs/MITIGACION.md — Empfohlene Gegenmaßnahmen, Hardening und Überprüfung des Patches 7.0.3.

Credits

  • Ursprüngliche Forschung und Veröffentlichung: pwn.ai — https://pwn.ai/blog/xss2shell
  • Zugrunde liegende SOME-Technik: Paulos Yibelo (2022), veröffentlicht im Blog von pwn.ai und nominiert für die Top Web Hacking Techniques 2022.
  • PoC und Paketierung dieses Repositorys: eigene Arbeit zu Bildungszwecken.

Lizenz

Verteilt unter der MIT-Lizenz. Weitere Details findest du in der Datei LICENSE.

Tool herunterladen