原文連結: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漏洞,解決方案,最簡單的就是升級。