
Python-PoC zur Validierung der unauthentifizierten Rechteausweitung CVE-2025-6325 und des beliebigen Datei-Upload-RCE CVE-2025-6327 in King Addons for Elementor <= 51.1.36.
Forschungs- und Validierungstool für King Addons for Elementor <= 51.1.36, das zwei dokumentierte Schwachstellen abdeckt:
Nur für autorisierte Sicherheitstests, Schwachstellenforschung und kontrollierte Laborumgebungen.
Dieses Projekt bietet einen Dual-Purpose-PoC zur Validierung der Sicherheitsauswirkungen von zwei Schwachstellen in King Addons for Elementor.
Unauthentifizierte Rechteausweitung über die King Addons-Registrierungsfunktion.
Der verwundbare Ablauf akzeptiert einen clientseitig kontrollierten user_role-Wert und übergibt ihn an die WordPress-Benutzererstellung, ohne eine angemessene Rollen-Allowlist durchzusetzen.
Betroffene Version: <= 51.1.36
Gepatchte Version: 51.1.37
Der verwundbare Registrierungsablauf verwendet:
POST /wp-admin/admin-ajax.php
action=king_addons_user_register
user_role=administrator
Der PoC überprüft außerdem, ob das erstellte Konto sich authentifizieren und auf die WordPress-Benutzerverwaltungsseite zugreifen kann.
Unauthentifizierter beliebiger Datei-Upload über die Upload-Funktion des King Addons-Formularerstellers.
Der verwundbare Upload-Handler kann fälschlicherweise eine PHP-Datei akzeptieren, was zu einer über das Web erreichbaren hochgeladenen Datei und potenzieller serverseitiger Codeausführung führt.
Betroffene Version: <= 51.1.36
Gepatchte Version: 51.1.37
Die relevante AJAX-Aktion ist:
POST /wp-admin/admin-ajax.php
action=king_addons_upload_file
Der PoC validiert den Upload-Ablauf und prüft, ob die hochgeladene Testdatei einen harmlosen id-Befehl ausführen kann.
Das Skript unterstützt vier Betriebsmodi:
check
privesc
upload
both
Diese Modi werden direkt über die Kommandozeilenschnittstelle bereitgestellt.
Python 3 ist erforderlich.
Es sind keine Python-Pakete von Drittanbietern erforderlich.
Überprüfen Sie Ihre Python-Version:
python3 --version
Führen Sie beide Schwachstellenprüfungen aus:
python3 exploit.py -u http://target.local --exploit both
Entdecken Sie exponierte King Addons-Nonces, ohne die Exploit-Phasen auszuführen:
python3 exploit.py -u http://target.local --exploit check
python3 exploit.py -u http://target.local --exploit privesc
python3 exploit.py -u http://target.local --exploit upload
Erstellen Sie eine Zieldatei:
http://target1.local
https://target2.local
http://target3.local
Kommentare und leere Zeilen werden ignoriert.
Führen Sie eine passive Bewertung aus:
python3 exploit.py -l targets.txt --exploit check
Führen Sie beide Validierungsphasen aus:
python3 exploit.py -l targets.txt --exploit both -t 20
Führen Sie die Upload-Validierung aus:
python3 exploit.py -l targets.txt --exploit upload -t 20
Führen Sie die Validierung der Rechteausweitung aus:
python3 exploit.py -l targets.txt --exploit privesc -t 20
Der PoC durchsucht automatisch Zielseiten nach den Nonces, die für die beiden verwundbaren Abläufe erforderlich sind.
Standard-Crawler-Einstellungen:
Depth : 3
Max pages : 80
Timeout : 20 seconds
Threads : 10
Diese Standardwerte sind in der CLI-Konfiguration des Skripts definiert.
Beispiel:
python3 exploit.py \
-l targets.txt \
--exploit both \
-t 20 \
--depth 3 \
--max-pages 80 \
--timeout 20
| Option | Beschreibung |
|---|---|
-u, --url | Testet eine einzelne Ziel-URL |
-l, --list | Datei mit Ziel-URLs |
-e, --exploit | Wählt check, privesc, upload oder both |
-t, --threads | Anzahl gleichzeitiger Worker |
--depth | Maximale Crawler-Linktiefe |
--max-pages | Maximale Anzahl gecrawlter Seiten pro Ziel |
--timeout | HTTP-Anfrage-Timeout in Sekunden |
-o, --output | TSV-Ergebnisausgabe |
--loot | Ausgabe erfolgreicher Validierung |
--no-color | Deaktiviert Terminalfarben |
Das Skript verwendet standardmäßig results.tsv für strukturierte Ergebnisse und loot.txt für erfolgreiche Validierungseinträge.
Während der Ausführung meldet das Tool mehrere Zustände.
Zeigt an, dass die Upload-Validierung erfolgreich war und die Test-PHP-Datei auf die Verifizierungsanfrage geantwortet hat.
Beispiel:
PWNED [SHELL]
Zeigt an, dass die Validierung der Rechteausweitung ein Konto über den verwundbaren Registrierungsablauf erstellt hat.
Das Tool zeichnet zusätzlich auf, ob das Konto gegen die WordPress-Benutzerverwaltungsseite verifiziert wurde.
Das erstellte Konto wurde erfolgreich authentifiziert und auf der WordPress-Benutzerseite bestätigt.
Die Registrierungsanfrage war erfolgreich, aber der nachfolgende Verifizierungsschritt konnte das resultierende Konto nicht bestätigen.
Es wurde kein erfolgreiches Validierungsergebnis erzielt.
Das Ziel erzeugte einen Netzwerk-, Parsing-, Crawling- oder anderen Ausführungsfehler.
Strukturierte Ergebnisse werden als TSV geschrieben:
results.tsv
Die Ausgabe enthält Felder für:
target
status
shell_url
shell_rce
priv_user
priv_pwd
priv_verified
err
Dieses Format ist nützlich für den Import von Ergebnissen in Tabellenkalkulationen oder die weitere Verarbeitung.
Erfolgreiche Validierungseinträge werden zusätzlich geschrieben nach:
loot.txt
Das Skript schreibt Shell- und Rechte-Validierungsergebnisse als separate Einträge.
Visitor
│
▼
Public King Addons Register Form
│
▼
Nonce discovery
│
▼
king_addons_user_register
│
▼
Client-controlled user_role
│
▼
WordPress user creation
│
▼
Privilege escalation validation
Der PoC übermittelt speziell:
user_role=administrator
an den Registrierungsendpunkt.
Visitor
│
▼
King Addons Form Builder
│
▼
Upload nonce discovery
│
▼
king_addons_upload_file
│
▼
PHP test file upload
│
▼
Uploaded file URL
│
▼
Benign execution verification
Der PoC verwendet einen eindeutig generierten Testdateinamen und prüft die zurückgegebene Upload-URL.
Die Forschungsimplementierung wurde getestet gegen:
WordPress 6.8 / 7.1
Elementor 4.2.3
King Addons 51.1.14