漏洞复现 - Tomcat任意文件上传漏洞(CVE-2017-12615)

Posted Sally Zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞复现 - Tomcat任意文件上传漏洞(CVE-2017-12615)相关的知识,希望对你有一定的参考价值。

漏洞原理

Tomcat配置文件web.xml中,servlet配置了readonly=fasle时,会引发任意文件上传漏洞。

readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http 403错误。但很多时候为了支持REST服务,会设置该属性为false。

 

复现环境

在ubuntu 16.04虚拟机中用vulhub靶场提供的docker容易来复现

jdk版本1.7

Tomcat版本8.5.19

 

复现过程

1. 进入vulhub目录:tomcat/CVE-2017-12615

2.启动docker容器,tomcat页面正常访问:

进入容器查看一下web.xml的readonly配置:

3. 抓包,尝试上传jsp木马,没成功,不能直接传jsp文件

4.绕过以下,再次上传(其他类型的文件也可以上传的,传jsp文件是方便执行jsp中的代码):

5.进入docker容器内部查看上传文件:

6.访问该文件,执行成功:

防御实验

将readonly参数改为false,在发一次PUT请求:

 

 

本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

以上是关于漏洞复现 - Tomcat任意文件上传漏洞(CVE-2017-12615)的主要内容,如果未能解决你的问题,请参考以下文章

Java安全-Tomcat任意文件写入(CVE-2017-12615)漏洞复现

tomcat漏洞之任意文件上传(CVE-2017-12615)

tomcat漏洞之任意文件上传(CVE-2017-12615)

漏洞复现-Tomcat AJP 文件包含漏洞(CVE-2020-1938)

CVE-2020-1938 Tomcat 文件读取/包含

Tomcat远程代码执行漏洞CVE-2017-12615复现