Tomcat PUT方法任意写文件漏洞

Posted blankunbeaten

tags:

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

Tomcat PUT方法任意写文件漏洞

Tomcat PUT方法任意写文件漏洞(CVE-2017-12615)

如果Tomcat由于配置不当开启了PUT方法(默认为关闭,但是有些页面需要PUT,无法关闭),则有可能存在远程命令执行漏洞,攻击者可以利用PUT方法上传jsp木马文件,从而造成远程命令执行,getshell等操作。


漏洞环境

我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可

git clone git://github.com/vulhub/vulhub.git
cd vulhub/tomcat/CVE-2017-12615/
docker-compose up -d

访问IP:8080即可看到Tomcat的Example页面。

如图所示搭建成功,靶机显示为8.5.19没有关系。


影响版本

Apache Tomcat

7.0.0 - 7.0.81


漏洞复现

由于conf/web.xml里readonly设置为false导致漏洞出现。

<init-param>
  <param-name>readonly</param-name>
  <param-value>false</param-value>
</init-param>

虽然PUT上传限制了jsp后缀,不过对于不同平台有多种绕过方法

在linux平台下我们可以用/来绕过

访问上传的文件利用成功。

在windows下,由于windows中文件名不能以空格结尾的性质所以我们可以用jsp%20来绕过,这里由于我没有搭建windows环境就不做演示了

以上是关于Tomcat PUT方法任意写文件漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat任意文件上传漏洞

每日一洞----tomcat put方法任意写文件(CVE-2017-12615)

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

Tomcat典型漏洞

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

1-漏洞分析——tomcat任意文件写入漏洞分析