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-2018-25031 — Script de preuve de concept basé sur Python démontrant la vulnérabilité XSS CVE-2018-25031 dans Swagger UI utilisant Selenium pour la détection automatisée sur plusieurs points de terminaison. | Kitploit
Outils/GitHubGitHub/lucasrenaa/cve-2018-25031
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebApprentissage et ÉducationSécurité des API
GitHublucasrenaa/cve-2018-25031

CVE-2018-25031

Script de preuve de concept basé sur Python démontrant la vulnérabilité XSS CVE-2018-25031 dans Swagger UI utilisant Selenium pour la détection automatisée sur plusieurs points de terminaison.

Voir le dépôt
3il y a 2 ansPas 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

POC de Cross-Site Scripting dans Swagger UI : CVE-2018-25031 utilisant Selenium en Python

Ce dépôt contient un script Python qui démontre une preuve de concept (POC) d'une vulnérabilité de Cross-Site Scripting (XSS) dans Swagger UI, utilisant la bibliothèque Selenium. L'objectif de cette POC est d'identifier les sites susceptibles d'être vulnérables via l'exploitation de Swagger UI avec une charge malveillante.

Vulnérabilité de Cross-Site Scripting (XSS) dans Swagger UI

Swagger UI est un outil largement utilisé pour visualiser et interagir avec les API via une interface utilisateur conviviale. Cependant, dans la version 2.9.2, une vulnérabilité de Cross-Site Scripting (XSS) a été identifiée, qui pourrait permettre à un attaquant d'injecter du code JavaScript malveillant dans les pages Swagger UI chargées.

Le XSS se produit lorsqu'une application ne valide pas correctement les données saisies par l'utilisateur avant de les afficher sur la page. Dans ce cas, un attaquant peut exploiter la vulnérabilité en insérant un code JavaScript malveillant dans les champs de saisie de Swagger UI, qui sera exécuté dans le contexte du navigateur d'autres utilisateurs accédant à la même page compromise.

Exemple de XSS dans Swagger UI

Remarque : L'image ci-dessus illustre un exemple de la façon dont un attaquant peut insérer un payload XSS dans Swagger UI, en exploitant une faille de sécurité dans les versions concernées.

Atténuation et Solution

La manière la plus efficace d'atténuer cette vulnérabilité est de s'assurer que Swagger UI est mis à jour vers une version non affectée. Vérifiez les dernières versions de Swagger UI et maintenez-le toujours à jour.

Pour les développeurs souhaitant utiliser ou personnaliser Swagger UI, il est essentiel d'effectuer une validation appropriée des données d'entrée avant de les afficher dans l'interface. Éviter le rendu direct du HTML ou JavaScript saisi par les utilisateurs est une pratique recommandée pour prévenir les vulnérabilités XSS.

Exemple d'Exploitation

Voici un exemple simplifié de la façon dont la vulnérabilité peut être exploitée en utilisant Swagger UI :

  1. L'attaquant accède à un Swagger UI vulnérable.
  2. L'attaquant identifie un champ de saisie où il peut insérer du texte.
  3. L'attaquant injecte un payload XSS dans l'URL, par exemple : http://127.0.0.1:8080/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
  4. Lorsque d'autres utilisateurs accèdent à la même page compromise, le payload XSS est exécuté dans leurs navigateurs, affichant une alerte avec le message 'Vulnérabilité XSS'.

Avertissement

Cette section est uniquement destinée à des fins éducatives et informatives. N'encouragez pas et ne participez pas à des activités malveillantes ou illégales. Suivez toujours les pratiques de divulgation responsable lors du signalement de vulnérabilités.

Prérequis

Assurez-vous d'avoir les prérequis suivants installés avant d'exécuter le script :

  • Python : Assurez-vous d'avoir Python installé sur votre machine.
  • Selenium : Installez la bibliothèque Selenium à l'aide de la commande suivante :
    root@kitploit:~
    pip install selenium
    
  • ChromeDriver : Assurez-vous d'avoir le ChromeDriver compatible installé. Vous pouvez télécharger ChromeDriver depuis le site officiel de Selenium ou utiliser un gestionnaire de paquets, comme WebDriver Manager.

Comment utiliser le script

  1. Clonez ou téléchargez ce dépôt sur votre machine.

  2. Modifiez le fichier sites_para_testar.txt et insérez les URL des sites que vous souhaitez tester, une par ligne.

  3. Ouvrez un terminal dans le dossier du dépôt et exécutez le script à l'aide de la commande suivante :

    root@kitploit:~
    python main.py
    
  4. Le script parcourra les sites listés dans le fichier sites_para_testar.txt, accédera à leurs URL Swagger UI et vérifiera si une alerte XSS est détectée. Les résultats seront enregistrés dans trois fichiers : valido.txt pour les URL potentiellement vulnérables, talvezvalido.txt pour les URL qui pourraient être vulnérables et naovalido.txt pour les URL non vulnérables.

Comprendre le Script

Le script utilise la bibliothèque Selenium pour automatiser l'interaction avec le navigateur Chrome. Il charge les URL Swagger UI configurées dans le fichier sites_para_testar.txt, ajoute une charge malveillante au paramètre configUrl et vérifie si une alerte XSS est déclenchée.

Le script utilise les étapes suivantes :

  1. Importe les bibliothèques nécessaires de Selenium et autres dépendances.
  2. Configure les options de ChromeDriver pour ignorer les erreurs SSL et de certificat.
  3. Initialise le pilote Chrome.
  4. Lit les sites à tester depuis le fichier sites_para_testar.txt et itère sur eux.
  5. Ouvre chaque URL Swagger UI avec la charge malveillante ajoutée.
  6. Tente de vérifier si une alerte XSS est déclenchée.
  7. En fonction du résultat de la vérification, enregistre les URL dans les fichiers valido.txt, talvezvalido.txt ou naovalido.txt.
  8. Ferme le pilote Chrome.

Avertissement Légal

Ce script est fourni uniquement à des fins éducatives et de sensibilisation à la cybersécurité. Il ne doit pas être utilisé à des fins malveillantes ou illégales. L'auteur décline toute responsabilité en cas d'utilisation abusive de ce script ou de tout dommage découlant de son utilisation.

Contribution

Si vous trouvez un moyen d'améliorer ce script ou si vous avez des suggestions, n'hésitez pas à créer une pull request.

Licence

Ce projet est sous licence MIT.

Télécharger l’outil