一丶漏洞原理
Windows服务器下,将readonly参数设置为false时(默认设置为true),即可通过PUT方式创建一个JSP文件,并可以执行任意代码。Windows不允许空格作为文件名结尾,所以我们上传的末尾带空格的jsp文件,就会自动创建一个jsp文件,导致代码执行。影响版本:7.0.0~7.0.79
几种绕过Tomcat的检测方式
1.利用Windows NTFS特性,evil.jsp::$DATA等于生成一个evil.jsp的jsp文件
二丶漏洞环境
1丶 kail下,进入vulhub-master/tomcat/CVE-2017-12615目录
2丶docker-compose build 创建容器
docker-compose up -d 启动容器
3丶运行完成后访问http://your-ip:8080即可看到Tomcat的Example页面
三丶漏洞复现
4丶打开bp直接抓包将构造好的数据包发送到根目录
5丶访问写入的666.jsp文件,证明漏洞存在
6丶利用Windows NTFS文件特性
7丶上传一个webshell,使用蚁剑连接
四丶修复方案
禁用PUT请求方法,设置为false