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/lucaspdiniz/cve-2022-22965
Génération de PayloadsAnalyse des VulnérabilitésExploitationShellcodeExploitation d'Applications WebTests d'Intrusion
GitHublucaspdiniz/cve-2022-22965

CVE-2022-22965

Vulnérabilité Spring4Shell RCE - CVE-2022-22965

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

Vulnérabilité Spring4Shell - CVE-2022-22965 📕

  • Introduction

La vulnérabilité spring4shell a été nommée ainsi en raison de 2 vulnérabilités découvertes et largement exploitées par des attaquants au début de 2022. L'une de ces vulnérabilités se trouve dans le composant du framework appelé "Spring Cloud Functions" (moins critique) et une seconde, plus critique, se trouve au cœur du framework, appelée "Spring Core". Avec ces 2 vulnérabilités critiques, elle a généré une plaisanterie de la communauté en relation avec une autre vulnérabilité critique divulguée en 2021, appelée Log4shell.

Comment cela fonctionne-t-il ?

L'une des fonctionnalités de Spring MVC est qu'il instancie et remplit automatiquement un objet d'une classe spécifiée lorsqu'une requête est effectuée sur la base des paramètres envoyés au endpoint. En termes simples, cela peut être abusé pour écraser des attributs importants de la classe parente, conduisant à une exécution de code à distance. La majorité des exploits pour la vulnérabilité Spring4Shell fonctionnent en forçant l'application à écrire un fichier .jsp malveillant sur le serveur web. Ce webshell peut ensuite être exécuté pour obtenir une exécution de commandes à distance sur la cible.

Limitations

Pour que cette exploitation se produise, il est nécessaire de suivre une séquence de facteurs qui rendent l'environnement vulnérable à l'importation de ce fichier jsp ; ils sont :

  • Spring Core avant la version 5.2 (versions 5.3.0-17 et 5.2.0-19).
  • Java Development Kit (JDK) supérieur ou égal à 9.
  • Apache Tomcat comme serveur pour l'application Spring, empaqueté en tant que WAR.
Télécharger l’outil
  • Dépendance aux composants spring-webmvc et/ou spring-webflux du Spring Framework.
  • C'est parti pour le POC

    Pour cette exploration, nous utiliserons un script déjà créé à cet effet, appelé poc.py, attaché à ce même dépôt.

    [!note]
    Le script (poc.py) pour ce poc est disponible dans ce même dépôt, consultez-le ci-dessus.

    Utilisez toujours l'aide du script lorsqu'elle est disponible, ce sera plus clair à comprendre.

    Cette attaque nécessite une méthode http post pour pouvoir transmettre le fichier au serveur. Sur le serveur que nous attaquons, il y a un POST que nous pouvons trouver dans la vue source (view-source) de la page.

    C'est une page simple où un e-mail est enregistré pour une notification.

    dans view-source, nous trouvons le post de ce formulaire avec une action vers /.

    Utilisons notre script pour explorer ce serveur web. Rappelons que nous devons exécuter l'attaque dans l'action POST, en l'occurrence à la racine /.

    Le webshell a été envoyé avec succès ! Accédons au lien généré par le script pour confirmer l'exploitation.

    Terminé ! Nous avons pu exploiter la vulnérabilité en envoyant un webshell au serveur web.

    Correctif ✅

    Pour remédier à Spring4Shell, assurez-vous d'utiliser une version de Spring publiée après le patch 18 de la version mineure 5.3 (c'est-à-dire après 5.3.18), ou après le patch 20 si vous utilisez la version mineure 5.2 (c'est-à-dire après 5.2.20). Mettre à niveau la version du framework suffit pour supprimer la vulnérabilité de vos applications.