此演示应用程序易受 CVE-2021-44228(又称 Log4Shell)漏洞影响。例如,它可用于验证检测或修复脚本。
构建应用程序:
mvn clean package
或者,下载预构建的 JAR。
运行应用程序(如果您在本地构建,则在 target 子目录中运行):
java -Dlog4shell.all -jar log4shell-honeypot-capsule.jar
该应用程序默认情况下不易受攻击。您需要设置
log4shell.all系统属性以启用漏洞(或者您可以使用特定于漏洞的选项,见下文)。
log4shell.userAgent 系统属性以记录 User-Agent HTTP 标头。log4shell.authorization 系统属性以记录 HTTP 标头。Authorizationlog4shell.basicAuth 系统属性以记录从基本认证解码出的用户名/密码对。log4shell.urlPath 系统属性以记录 URL 路径。log4shell.urlQuery 系统属性以记录 URL 查询字符串。log4shell.all 系统属性以记录上述所有内容。属性值为空即可。
要在应用程序上启用基本认证,请激活 basicAuth 配置配置文件:
java -Dseedstack.profiles=basicAuth -Dlog4shell.all -jar target/log4shell-honeypot-capsule.jar
demodemo当启用基本认证时,应用程序不会受到用户名/密码注入漏洞的影响。
根据上述选项,在任意路径上发送带有恶意负载的 GET 或 POST 请求:
以 User-agent 标头为例:
curl http://localhost:8080 -A "<malicious-user-agent>"
该应用将向包含漏洞的 /test 发出 302 重定向。