Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-2022-22965 — Analyse technique approfondie de CVE-2022-22965 (Spring4Shell) avec configuration de l'environnement, analyse de débogage pas à pas et décomposition de la chaîne d'exploitation pour une pratique en laboratoire éducatif. | Kitploit
Outils/GitHubGitHub/khidottrivi/cve-2022-22965
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebApprentissage et ÉducationLabs et Pratique
GitHubkhidottrivi/cve-2022-22965

CVE-2022-22965

Analyse technique approfondie de CVE-2022-22965 (Spring4Shell) avec configuration de l'environnement, analyse de débogage pas à pas et décomposition de la chaîne d'exploitation pour une pratique en laboratoire éducatif.

Voir le dépôt
410il y a 4 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

Analyse de CVE-2022-22965_Spring4Shell

Description de la vulnérabilité

Spring4Shell est le nom d'une CVE existant sur Spring Core du Spring Framework.

Avec un score CVSS 3.x de 9.8, la vulnérabilité est classée au plus haut niveau de risque (critique). Cette vulnérabilité permet à un attaquant d'exécuter du code d'exploitation à distance et de contrôler le serveur vulnérable.

Avec la popularité de Spring Core sur Internet et la gravité de l'impact de Spring4Shell, cette vulnérabilité est considérée par les experts comme ayant un impact non moins important que Log4shell.

Périmètre d'impact

Spring4Shell n'affecte pas toutes les applications web utilisant Spring Framework sur Internet ; elle exige que l'application web possède les éléments suivants :

  • L'application utilise Spring Framework version < 5.2, 5.2.0 – 5.2.19 ou 5.3.0 - 5.3.17
  • L'application utilise l'une des deux dépendances Spring-webmvc ou Spring-webflux
  • L'application utilise Java avec une version JDK >= 9
  • L'application est empaquetée sous forme d'une archive web Java traditionnelle (fichier .war) et déployée dans Tomcat (aucune vulnérabilité détectée sur les applications utilisant Spring Boot)

Configuration de l'environnement

Mon environnement de configuration aura les paramètres suivants :

  • Spring Framework 5.1.0
  • Spring-webmvc dependency 5.1.0
  • JDK 11.0.13 (j'utilise une machine virtuelle Kali 2021.4a et cette version Java est préinstallée)
  • Apache Tomcat 9.0.45

Créer l'environnement, le projet avec la vulnérabilité et configurer le débogage avec Intellij

  1. Installer Apache Tomcat

    Comme mentionné ci-dessus, j'utilise Kali 2021.4a et Apache Tomcat 9.0.45. Si vous ne savez pas comment installer Apache Tomcat et souhaitez le faire sur Kali Linux, vous pouvez consulter ce lien.

    Note : Remplacez le lien https://mirror.kiu.ac.ug/apache/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz par https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

  2. Choisir un IDE

    Nous avons besoin d'un IDE pour coder le projet, l'empaqueter en fichier .war et surtout pour le débogage. J'utilise Intellij, vous pouvez tout à fait utiliser Eclipse ou Netbeans,... Tant que cet IDE supporte Java.

  3. Créer un projet simple contenant la vulnérabilité

    Mon projet est extrêmement simple, composé de :

    • un modèle HelloWorld.java

      Untitled

    • un contrôleur HelloWorldController.java

      Untitled

    • une vue hello.jsp

      Untitled

  4. Construire le fichier .war

    Pour empaqueter le projet, procédez comme suit : Build -> Build Artifacts -> helloworld:war -> Build.

    Attendez que la construction soit réussie ; le projet aura alors un dossier out supplémentaire. Allez dans ./out/artifacts/your_war_name/ et vous verrez un fichier your_war_name.war ; ce fichier .war est le projet web après compilation et empaquetage, et peut être déployé sur des servlets Java comme Apache Tomcat.

    Si Build Artifacts est grisé (impossible de construire les artefacts), cela signifie que les artefacts de construction n'ont pas été configurés pour ce projet. Allez dans : File -> Project Structure -> Artifacts -> Supprimez tous les artefacts existants -> Add (signe +) -> Web Application: Exploded -> From Modules... -> OK (fin de création de l'exploded) -> Add (signe +) -> Web Application: Archive -> For ‘helloworld:war exploded’ -> OK. Ensuite, refaites Build Artifacts.

  5. Déployer et configurer le débogage

    • Déploiement

      Pour déployer un fichier .war sur Apache Tomcat, il suffit de copier le fichier .war dans le dossier /webapps à l'intérieur du dossier Apache Tomcat (ex: pour moi, je copie le fichier helloworld.war (renommé pour plus de simplicité) dans /opt/tomcat/apache-tomcat-9.0.45/webapps/). Ensuite, démarrez le serveur Tomcat de deux manières (pour Linux) :

      • /opt/tomcat/apache-tomcat-9.0.45/bin/catalina.sh start (l'application s'exécute avec les droits de l'utilisateur exécutant cette commande, pour moi c'est root@@)
      • sudo service tomcat start (l'application s'exécute généralement avec les droits de l'utilisateur tomcat, selon la configuration du service lors de l'installation d'Apache Tomcat)

      Après le déploiement, accédez à http://localhost:8080/helloworld

    • Configuration du débogage

      Pour configurer le débogage (à distance) de Tomcat, procédez comme suit :

      1. Côté serveur :

        • ouvrez le fichier catalina.sh et remplacez la valeur localhost par l'ip_may_ao du paramètre JPDA_ADDRESS

          Untitled

        • redémarrez le serveur Tomcat avec : /opt/tomcat/apache-tomcat-9.0.45/bin/catalina.sh jpda start. À ce moment, en plus d'ouvrir le port 8080 pour le serveur HTTP, Tomcat ouvrira également le port 8000 pour que nous puissions nous connecter et déboguer.

        Note : Dans cette partie de débogage, j'exécute Intellij sur Windows 10 et Tomcat sur une machine virtuelle Kali, donc il est nécessaire de changer JDPA_ADDRESS ; si vous configurez à la fois Intellij et Windows 10 sur la même machine, vous n'avez pas besoin de le changer.

      2. Côté Intellij :

        • allez dans Run -> Edit Configurations... -> Add (signe +) -> Remote JVM Debug

        • Donnez un nom -> modifiez Host et Port avec l'ip et le port que vous avez modifiés dans le fichier catalina.sh -> OK -> Shift + F9 (lancer le débogage)

          Untitled

Analyse détaillée

Tout d'abord, je vais analyser le projet que j'utilise pour le débogage ; comme mentionné ci-dessus, ce projet se compose simplement de :

Télécharger l’outil