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
Ghostcat-Tomcat-AJP-Exploit-Py3 — Un script d'exploitation entièrement refactorisé, compatible avec Python 3, pour Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) - Inclusion de fichier local AJP | Kitploit
Outils/GitHubGitHub/si1ence90/ghostcat-tomcat-ajp-exploit-py3
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionApprentissage et Éducation
GitHubsi1ence90/ghostcat-tomcat-ajp-exploit-py3

Ghostcat-Tomcat-AJP-Exploit-Py3

Un script d'exploitation entièrement refactorisé, compatible avec Python 3, pour Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) - Inclusion de fichier local AJP

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
Voir le dépôt
il y a 3 moisPas encore vérifié

Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) Outil de détection de vulnérabilité

Introduction

Ce projet fournit un script de vérification Python pour valider la vulnérabilité d'inclusion de fichiers locaux dans le protocole AJP d'Apache Tomcat, communément appelée Ghostcat (CVE-2020-1938 / CNVD-2020-10487).

Ce script est une refonte et réparation complète de la version Python 2 initialement diffusée. Il est entièrement compatible avec Python 3, corrige les problèmes de compatibilité avec StringIO, le codage base64 et les concaténations de données binaires et de chaînes, et améliore la stabilité sur les systèmes d'exploitation modernes.

Principe de la vulnérabilité

Lors du traitement du protocole AJP (Apache JServ Protocol), Apache Tomcat active par défaut le port 8009 sans effectuer de contrôle de sécurité strict sur les attributs de requête entrants. Un attaquant peut construire une requête AJP malveillante en injectant des attributs tels que javax.servlet.include.request_uri, javax.servlet.include.path_info et javax.servlet.include.servlet_path :

  1. Lecture arbitraire de fichiers (LFI) : Duper le DefaultServlet de Tomcat pour lire tout fichier situé dans le répertoire de l'application web (par exemple WEB-INF/web.xml, fichiers de configuration).
  2. Exécution de code à distance (RCE) : Si le serveur cible est vulnérable à l'upload de fichiers, un attaquant peut d'abord télécharger un fichier ordinaire contenant du code JSP malveillant (comme txt, png, etc.), puis utiliser cette vulnérabilité AJP pour forcer JspServlet à analyser et compiler ce fichier en tant que JSP, permettant ainsi l'exécution de commandes à distance.

Remarque : Cette vulnérabilité ne prend en charge que l'inclusion locale de fichiers (LFI), et non l'inclusion distante directe (RFI).

Prérequis

  • Python 3.6+
  • Utilise uniquement la bibliothèque standard de Python, aucune dépendance tierce n'est nécessaire.

Utilisation

Syntaxe en ligne de commande :

root@kitploit:~
python CNVD-2020-10487-Tomcat-Ajp-lfi.py <IP cible> [-p port cible] [-f chemin du fichier cible]

Description des paramètres :

  • target (obligatoire) : Adresse IP ou nom de domaine de la machine cible.
  • -p, --port (optionnel) : Port AJP, par défaut 8009.
  • -f, --file (optionnel) : Chemin relatif du fichier à lire sur la cible, par défaut WEB-INF/web.xml.

Exemples d'utilisation :

  1. Détection de base (lecture du fichier web.xml par défaut) :

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1
    
  2. Spécification d'un port et d'un fichier (lecture d'un fichier de configuration personnalisé) :

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.100 -p 8009 -f WEB-INF/classes/application.properties
    

Correction et défense

Si votre système est affecté par cette vulnérabilité, il est recommandé de prendre les mesures de protection suivantes immédiatement :

  1. Mettre à jour Tomcat : Mettre à jour vers les versions de sécurité officielles (9.0.31, 8.5.51, 7.0.100 ou versions ultérieures).
  2. Désactiver le service AJP : Si l'environnement métier n'a pas besoin de communication via le protocole AJP pour un cluster de proxys inversés, il est recommandé de commenter ou supprimer la configuration <Connector port="8009" protocol="AJP/1.3" ... /> directement dans conf/server.xml.
  3. Renforcer l'authentification AJP : Si le service AJP doit rester actif, ajoutez l'attribut requiredSecret (ou secret pour Tomcat 8.5.51/9.0.31 et versions ultérieures) au connecteur AJP pour forcer l'authentification.

Avertissement

Ce script est destiné exclusivement à la recherche en cybersécurité, à l'éducation et aux audits de sécurité internes en entreprise. N'utilisez pas ce script pour sonder ou attaquer des cibles non autorisées. L'utilisateur doit respecter les lois et réglementations locales lors de l'utilisation de ce script. Toute conséquence résultant d'une utilisation inappropriée ou illégale relève de la seule responsabilité de l'utilisateur.

Télécharger l’outil