该应用已被容器化,并容易受到 Spring4Shell 漏洞 (CVE-2022-22965) 的影响。WAR 文件的完整 Java 源代码可供查看和修改;每次构建 Docker 镜像时都可重新编译。Tomcat 随后会加载生成的 WAR 文件。本应用是一个简单的“Hello World”示例,基于 Spring 教程 实现,无任何特殊功能。
docker build . -t spring4shell && docker run -p 8080:8080 spring4shellpython exploit.py --url "http://localhost:8080/helloworld/greeting"cmd GET 参数以执行命令。(默认地址为 http://localhost:8080/shell.jsp)添加了文档,详细说明完整的利用细节。