Tomcat漏洞之——通过PUT远程代码执行

原文链接:http://www.dubby.cn/detail.html?id=9034

本文仅为技术分享,任何利用里技术的行为都和本文无关。

这是Tomcat在2017.9.19日公布的一个漏洞:

Tomcat漏洞之——通过PUT远程代码执行_第1张图片

根据邮件描述,我们下了windows版tomcat 7.0.79,安装成功后,需要首先允许tomcat进行PUT操作,也就是修改/conf/web.xml


        default
        org.apache.catalina.servlets.DefaultServlet
        param>
            <param-name>debugparam-name>
            <param-value>0param-value>
        param>
        param>
            <param-name>listingsparam-name>
            <param-value>falseparam-value>
        param>
        param>
            <param-name>readonlyparam-name>
            <param-value>falseparam-value>
        param>
        <load-on-startup>1load-on-startup>

其中新增了:

param>
            <param-name>readonlyparam-name>
            <param-value>falseparam-value>
param>

然后启动tomcat,使用postman发送一个put请求:

Tomcat漏洞之——通过PUT远程代码执行_第2张图片

再在浏览器中正常访问http://localhost:8080/helloworld.jsp:

Tomcat漏洞之——通过PUT远程代码执行_第3张图片

注:localhost:8080/helloworld.jsp/也可以替换成localhost:8080/helloworld.jsp%20,因为在windows下,%20(空格)和/都是不合法的文件命名,都会被去掉。

最后再去tomcat的目录webapps\ROOT下看看:

Tomcat漏洞之——通过PUT远程代码执行_第4张图片

这就是刚才通过漏洞添加上去的文件,OK,这就是tomcat的put漏洞,解决方法,最简单的就是升级。

你可能感兴趣的:(tomcat)