这是一个 Docker 化的应用程序,存在 Spring4Shell 漏洞(CVE-2022-22965)。提供了完整的 Java 源 WAR 文件并可修改,每当构建 Docker 镜像时都会重新构建 WAR。构建的 WAR 将由 Tomcat 加载。这个应用程序没什么特别,只是一个基于 Spring 教程 的简单 Hello World 程序。
详情:https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities
POC 有问题?请查看 LunaSec 分支:https://github.com/lunasec-io/Spring4Shell-POC,该分支维护更活跃。
docker build . -t spring4shell && docker run -p 8080:8080 spring4shell
python exploit.py --url "http://localhost:8080/helloworld/greeting"
cmd GET 参数以执行命令。(默认 http://localhost:8080/shell.jsp)
已修复! 截至撰写本文时,容器(可能只是 Tomcat)必须在每次攻击之间重启。我正在积极尝试解决这个问题。
重新运行漏洞利用将创建一个额外的工件文件 {old_filename}_.jsp。
欢迎通过 PR 或私信 @Rezn0k 进行改进!