
Script d'exploitation pour CVE-2026-0740 ciblant les points de terminaison de téléversement de fichiers de Ninja Forms afin de téléverser un shell PHP, analysant une liste d'URL et journalisant les téléversements réussis.
Un script expérimental/outil qui exploite les points de terminaison de téléversement de fichiers (upload) du plugin Ninja Forms sur des sites WordPress. Il envoie des requêtes séquentiellement aux cibles listées dans list.txt et écrit les téléversements réussis dans le fichier shell.txt.
urllib3)pip install requests urllib3
| Fichier | Description |
|---|
ninja.py | Script principal. |
list.txt | URLs cibles ; une URL par ligne (http/https, port facultatif). Les lignes vides sont ignorées. |
shell.txt | (Sortie) Les URLs des shells sont enregistrées en mode ajout (a) lors des téléversements réussis. |
Les constantes au début du script doivent être adaptées à la structure du plugin/formulaire cible :
FORM_ID — identifiant du formulaireFIELD_ID — identifiant du champSHELL_NAME — nom du fichier utilisé sur le serveurSHELL_CONTENT — contenu PHP téléverséLa vérification SSL est désactivée (verify=False) ; utilisez-le uniquement dans des environnements de test auxquels vous faites confiance.
Assurez-vous que list.txt se trouve dans le dossier du projet, puis :
python ninja.py
Les messages de progression et d'erreur sont écrits sur la sortie standard. Si le processus est interrompu par l'utilisateur, il se termine proprement avec KeyboardInterrupt.
list.txt n'existe pas, le script affiche une erreur et se termine.admin-ajax.php (nf_fu_get_new_nonce).nf_fu_upload).shell.txt.