
用于在隔离环境中利用 CVE-2022-22965 (Spring4Shell) 漏洞的概念验证,并演示了远程代码执行 (RCE)。
一个完全容器化的概念验证(PoC),演示了如何利用 Spring4Shell(CVE-2022-22965),在部署于 Apache Tomcat 上的存在漏洞的 Spring Framework 应用中实现远程代码执行(RCE)。
该项目重建了完整的漏洞环境,以便在安全、可复现的实验室中促进安全研究、渗透测试练习、漏洞分析和防御性学习。
免责声明
本仓库严格用于教育、研究和经授权的安全测试目的。该漏洞环境是故意不安全的,且只能在隔离的实验条件下运行。作者对因使用本项目而导致的任何误用或损害不承担任何责任。
Spring4Shell(CVE-2022-22965)是一个影响特定版本 Spring Framework 的关键远程代码执行漏洞,当其在特定运行时条件下部署于 Apache Tomcat 时会被触发。
本仓库提供了一个完全可复现的实验室环境,使研究人员和学生能够理解:
该应用完全隔离在 Docker 容器内,允许进行实验而不会影响主机操作系统。
| 组件 | 版本 | 描述 |
|---|---|---|
| Spring Boot | 2.6.2 | 存在漏洞的应用 |
| Spring Framework | 5.3.14 | 存在漏洞的版本 |
| Apache Tomcat | 9.0.60 | Servlet 容器 |
| Java | JDK 11 | 所需运行时 |
| 操作系统 | Ubuntu 24.04 | Docker 容器 |
.
├── Dockerfile
├── pom.xml
├── src/
│ ├── main/
│ └── test/
├── README.md
└── exploit/
git clone https://github.com/<username>/<repository>.git
cd <repository>
docker build -t spring4shell:2.6.2 .
docker run -p 8080:8080 spring4shell:2.6.2
应用将可从以下地址访问:
http://localhost:8080
本仓库演示了完整的攻击链:
本项目涵盖多个重要的攻击性安全概念:
要缓解 CVE-2022-22965:
⭐ 如果你认为本项目对学习或安全研究有用,请考虑给它一个 Star ⭐