原文链接: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漏洞,解决方法,最简单的就是升级。