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
CVE-2026-63030 — WordPress 未授权RCE EXP | CVE-2026-63030 | Kitploit
Tools/GitHubGitHub/mhtsec/cve-2026-63030
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubmhtsec/cve-2026-63030

CVE-2026-63030

WordPress 未授权RCE EXP | CVE-2026-63030

Repository anzeigen
95vor 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

CVE-2026-63030

WordPress REST API Batch-Routenkonfusion + SQL-Injection führen zu einer vollständigen Exploit-Kette von unberechtigter Administratorerstellung → Remote Code Execution als PoC.

Nur für autorisierte Sicherheitstests, Schwachstellenreproduktion und Forschung. Nicht für nicht autorisierte Ziele verwenden.

Schwachstellenübersicht

PunktBeschreibung
CVECVE-2026-63030
KomponenteWordPress Core REST API (/batch/v1)
Betroffene VersionenWordPress 6.9.0 – 6.9.4, 7.0.0 – 7.0.1 (laut offiziellem Bulletin)
AngriffsvoraussetzungZiel hat REST API Batch aktiviert; mindestens ein veröffentlichter Beitrag oder eine Seite vorhanden
BerechtigungsanforderungKein Login erforderlich (Pre-Auth)
AuswirkungErstellung eines Administratorkontos, anschließend Hochladen eines Plugins für RCE

Angriffskette

root@kitploit:~
REST Batch Routenkonfusion
    → author__not_in SQL-Injection
    → UNION fälscht WP_Post / oEmbed Cache / Customizer Changeset
    → Customizer-Veröffentlichung wechselt Kontext zu vorhandenem Administrator
    → REST /wp/v2/users erstellt neuen Administrator
    → Admin-Backend lädt einmaliges Plugin hoch
    → Systembefehle ausführen

Der Kern ist nicht „Stacked Write“, sondern:

  1. In serve_batch_request_v1() sind die Indizes von $matches / $validation während der Validierungs- und der Dispatch-Phase nicht synchron, was zu Route Confusion führt.
  2. Durch die Verschiebung gelangt die Zeichenfolge author_exclude in author__not_in von WP_Query und wird in NOT IN (...) eingefügt, was eine SQL-Injection verursacht.
  3. Mittels UNION SELECT wird eine vollständige wp_posts-Zeile gefälscht, um die oEmbed-/Customizer-Logik auszulösen und den aktuellen Benutzerkontext auf einen vorhandenen Administrator umzustellen.
  4. Mit Administratorrechten wird die REST-Schnittstelle zur Benutzererstellung aufgerufen, um einen neuen Administrator anzulegen.
  5. Nach dem Login wird ein Plugin hochgeladen, um Befehle auszuführen.

Umgebungsanforderungen

  • Python 3.10+ (nur Standardbibliothek, keine Drittanbieter-Abhängigkeiten)
  • Ziel ist eine WordPress-Instanz, die Sie testen dürfen
  • Ziel-PHP muss mindestens eine ausführbare Funktion aktiv haben (proc_open / passthru / system / shell_exec / exec / popen)
  • Falls disable_functions alle Befehlsausführungsfunktionen deaktiviert hat, kann der Administrator dennoch erstellt werden, aber die RCE-Phase schlägt fehl

Dateibeschreibung

root@kitploit:~
CVE-2026-63030/
├── exp.py        # Vollständiges Exploit-Skript (Einzeldatei, keine Abhängigkeiten)
└── README.md     # Diese Anleitung

Verwendung

Minimalbeispiel (automatisch generierter Administrator, Standardbefehl id)

root@kitploit:~
python3 exp.py --url http://192.168.1.10:8080/

Benutzerdefinierte Parameter

root@kitploit:~
python3 exp.py --url http://192.168.199.134:9005/ --username mht --password 'mht666' --email [email protected] --command 'id' --timeout 60

Parameterübersicht

Beispielhafte Ausgabe

root@kitploit:~
[*] Creating administrator via SQLi -> customizer bridge...
[+] Generated administrator: labadmin
[*] Password: S3cure!pass
[*] Email: [email protected]
[*] Logging in as generated administrator...
[+] Authenticated.
[*] Uploading one-shot command plugin...
[*] Plugin path: http://192.168.1.10:8080/wp-content/plugins/lab_wp2_cmd_xxxxxxxx/lab_wp2_cmd_xxxxxxxx.php
[*] Executing command: id
[+] command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[via: proc_open]
[*] Deleting generated administrator...
[+] Generated administrator removed.
[*] Cleaning up temporary plugin...
[+] Temporary plugin removed.

Das Skript versucht nach Abschluss:

  1. Den erstellten Administrator zu löschen
  2. Das temporäre Plugin-Verzeichnis zu entfernen

Bei Fehlern in der Mitte bitte manuell anhand der ausgegebenen Zugangsdaten bereinigen.

Hinweise

  1. Nur für autorisierte Umgebungen: Nicht gegen nicht autorisierte Systeme verwenden.
  2. Zieleinschränkung: Das Skript lehnt standardmäßig Ziele mit öffentlichen IP-Adressen ab; erlaubt werden nur private/Loopback/Link-Local-Adressen oder Domainnamen.
  3. PHP-Härtung: Falls has been disabled for security reasons erscheint, wurden entsprechende Funktionen von disable_functions deaktiviert. Der PoC probiert mehrere Ausführungsmethoden nacheinander; wenn alle deaktiviert sind, ist RCE nicht verfügbar, aber die Administratorerstellung kann dennoch erfolgreich sein.
  4. Seiteninhalt: Es muss mindestens ein veröffentlichter Beitrag oder eine Seite vorhanden sein, um den oEmbed Cache zu seeden.
  5. Idempotenz & Bereinigung: Jeder Durchlauf erstellt einen neuen Administrator und ein temporäres Plugin. Bei Erfolg werden diese automatisch entfernt; bei Fehlern bitte manuell unter wp-admin/users.php und wp-content/plugins/ prüfen.

Behebungsempfehlungen

  • Auf offiziell gepatchte Versionen aktualisieren (gemäß WordPress-Sicherheitsbulletin)
  • Falls kein Patch verfügbar, vorübergehend den nicht autorisierten Zugriff auf /batch/v1 einschränken
  • In Produktion disable_functions und einen Web-Benutzer mit minimalen Rechten konfigurieren, um die Auswirkungen eines RCE zu verringern

Disclaimer

Der Code in diesem Repository dient ausschließlich der Sicherheitsforschung und der autorisierten Schwachstellenreproduktion. Der Nutzer muss sicherstellen, dass er die geltenden Gesetze und die Autorisierung des Zielsystems einhält. Der Autor übernimmt keine Haftung für jeglichen Missbrauch.

Tool herunterladen
ParameterErforderlichStandardwertBeschreibung
--urlJaKeinerBasis-URL der Ziel-WordPress-Installation
--usernameNeinwp2_<hex>Zu erstellender Administrator-Benutzername
--passwordNeinWp2!<zufällig>Passwort des neuen Administrators
--emailNein<username>@wp2shell.invalidE-Mail des neuen Administrators
--command / -cNeinidBefehl, der über das einmalige Plugin ausgeführt werden soll
--timeoutNein60HTTP-Timeout pro Anfrage (Sekunden)