一个用于演示 Log4j 漏洞(CVE-2021-44228)如何被利用的简单程序。
要启动该程序,只需在 UNIX 系统上运行 start.sh,或在 Windows 上运行 start.bat。
用户输入将被读取,并使用 Log4j 框架记录到控制台。
默认情况下,Log4j 库生成的日志消息不会为 JNDI 替换提供任何服务器不可达 / 主机未找到的错误。(我想这也是该漏洞能够被隐蔽利用的一个主要原因)
也可以尝试使用子域名,例如 ${jndi:ldap://test29.google.com/blah},有时 JNDI 调用会等待远程服务器的响应,这就是为什么程序看起来像卡住了,而实际上它已经在后台发起了连接尝试。如果你使用不存在的子域名,JNDI 调用会在发起连接尝试后迅速终止,程序将继续运行。
我建议你在一个 shell 中运行该程序,并在另一个 shell 中并行运行 "tcpdump -i any | grep google" 命令,然后向程序提供输入,以查看程序是否发起了连接尝试。



testing(普通字符串)
--
--
--