该脚本 "log4j-detect.py" 使用 Python 3 开发,用于检测指定 URL 列表是否易受 CVE-2021-44228 影响。
为此,它会使用线程(性能更高)向列表中的每个 URL 发送 GET 请求。该 GET 请求包含一个 payload,若成功,则会向 Burp Collaborator / interactsh 返回一个 DNS 请求。该 payload 通过一个测试参数以及 "User-Agent" / "Referer" / "X-Forwarded-For" / "Authentication" 头部发送。 最后,如果某个主机存在漏洞,Burp Collaborator / interactsh 的 payload 子域前缀以及脚本输出中会出现一个识别编号,从而可以得知哪个主机通过 DNS 进行了响应。
需要注意的是,该脚本仅处理漏洞的 DNS 检测,不测试远程命令执行。
wget https://github.com/takito1812/log4j-detect/raw/main/log4j-detect.py
python3 log4j-detect.py <urlFile> <collaboratorPayload>
