漏洞描述:
由于配置不当(非默认配置),将配置文件conf/web.xml
中的readonly
设置为了 false,导致可以使用PUT方法上传任意文件,但限制了jsp后缀的上传
根据描述,在 Windows 服务器下,将 readonly 参数设置为 false 时,即可通过 PUT 方式创建一个 JSP 文件,并可以执行任意代码
通过阅读 conf/web.xml 文件,可以发现,默认 readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控
影响范围
Apache Tomcat 7.0.0 - 7.0.81
漏洞复现
搭建vuluhub靶场环境
docker-compose up -d
访问tomcat的主页
刷新这个页面抓包
修改get方法为put
这里首先测试一下,改为PUT
方法写入一个test.txt
,这里看到返回201,应该已经上传成功了
访问成功
说明成功上传
接下俩上传jsp马。他是tomcat环境可以执行java的环境代码php不可以
这里遇到了问题
404不知道页面是否存在
文件不存在
接下来神奇的事情发生了(访问的时候出现了200)
上传成功了
访问成功
接下来用冰蝎或者哥斯拉连接一下