
Application Java vulnérable à la vulnérabilité CVE-2021-44228 (également connue sous le nom de log4shell)
Cette application de démonstration est vulnérable à la CVE-2021-44228, également connue sous le nom de Log4Shell. Par exemple, elle peut être utilisée pour valider un script de détection ou de remédiation.
Construire l'application :
mvn clean package
Ou, alternativement, télécharger le JAR pré-construit.
Exécuter l'application (dans le sous-répertoire target si vous l'avez construite localement) :
java -Dlog4shell.all -jar log4shell-honeypot-capsule.jar
L'application n'est pas vulnérable par défaut. Vous devez définir la propriété système
log4shell.allpour activer les vulnérabilités (ou vous pouvez utiliser des options spécifiques aux vulnérabilités, voir ci-dessous).
log4shell.userAgentUser-Agentlog4shell.authorization pour journaliser l'en-tête HTTP Authorization.log4shell.basicAuth pour journaliser la paire utilisateur/mot de passe décodée à partir de l'authentification de base.log4shell.urlPath pour journaliser le chemin de l'URL.log4shell.urlQuery pour journaliser la chaîne de requête de l'URL.log4shell.all pour journaliser tout ce qui précède.Une valeur de propriété vide suffit.
Pour activer l'authentification de base sur l'application, activez le profil de configuration basicAuth :
java -Dseedstack.profiles=basicAuth -Dlog4shell.all -jar target/log4shell-honeypot-capsule.jar
demodemoLorsque l'authentification de base est activée, l'application ne peut pas être vulnérable à l'injection utilisateur/mot de passe.
Effectuez une requête GET ou POST sur n'importe quel chemin avec une charge utile malveillante située conformément aux options ci-dessus :
Exemple avec l'en-tête User-agent :
curl http://localhost:8080 -A "<malicious-user-agent>"
L'application émettra une redirection 302 vers /test qui contient la vulnérabilité.