cve-2020-1938漏洞复现

前言:

Tomcat Connector 是 Tomcat 与外界连接的通道,使得它与 Catalina 能够接收外部的请求,传递给对应的 Web 应用程序处理,并返回对应的请求结果。

Tomcat默认的 conf/server.xml 中配置了2个 Connector,一个为8080的对外提供的HTTP协议(1.1版本)端口,默认监听地址: 0.0.0.0:8080,另外一个就是默认的8009 AJP协议(1.3版本)端口,默认监听地址为:0.0.0.0:8009,两个端口默认均监听在外网ip。

HTTP Connector就是用来提供经常用到的HTTP Web服务,而AJP Connector使用的AJP协议(Apache JservProtocol),AJP 可以理解为HTTP协议的二进制性能优化版本,能降低HTTP请求的处理成本,所以主要在需要集群、反向代理的高并发需要高处理能力的场景中使用。

影响版本:

Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31

漏洞复现:

由于是在本地进行演示的,所以我这里就直接在kali上启动docker拉取漏洞环境来进行复现了。
至于docker的安装大家可以进行百度,安装好了docker以后,我们执行下面的命令来查看下docker当前的版本
第一步:

docker -v

在这里插入图片描述

第二步:搜索docker中的漏洞环境镜像:

docker search Tomcat-8.5.32

在这里插入图片描述
第三步:使用docker拉取镜像环境,在拉取的过程中可能比较慢,耐心等待就好。

docker pull duonghuuphuc/tomcat-8.5.32

由于我之前拉取过环境了,所以这里提示我环境已经存在并且已经启动
cve-2020-1938漏洞复现_第1张图片
第四步:等待环境拉取好了以后,我们在查看下docker下的镜像,可以看到我的这里还有其他的镜像。命令如下:

docker images

cve-2020-1938漏洞复现_第2张图片

第五步:启动环境,命令如下:

docker run -d -p 8080:8080 -p 8009:8009 --name ghostcat duonghuuphuc/tomcat-8.5.32

在这里插入图片描述

第六步:查看启动环境是否启动该成功,命令如下:

docker ps -l
docker port ghostcat:查询映射端口

在这里插入图片描述

第七步:可以看到是在docker中成功启动了环境,我们在浏览器中输入192.168.107.128:8080看是否可以访问tocat的页面
cve-2020-1938漏洞复现_第3张图片
第八步:通过namp进行端口扫描,开放8009和8080端口
cve-2020-1938漏洞复现_第4张图片
第九步:作者这里使用xray来进行探测,当然了,也可以使用Github上已经公开的EXP来复现,成功读取到webapps下WEB-INF文件内容
cve-2020-1938漏洞复现_第5张图片exp使用方式:

python CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f test.txt 192.168.107.128

cve-2020-1938漏洞复现_第6张图片
EXP来源:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

你可能感兴趣的:(Web安全)