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

来源:互联网 发布:哪种金融数据库8000多 编辑:程序博客网 时间:2024/06/06 01:27

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

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

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

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

<servlet>        <servlet-name>default</servlet-name>        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>        <init-param>            <param-name>debug</param-name>            <param-value>0</param-value>        </init-param>        <init-param>            <param-name>listings</param-name>            <param-value>false</param-value>        </init-param>        <init-param>            <param-name>readonly</param-name>            <param-value>false</param-value>        </init-param>        <load-on-startup>1</load-on-startup></servlet>

其中新增了:

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

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

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

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

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

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

原创粉丝点击