首页 > 技术文章 > Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现

20560838q 2020-03-02 21:26 原文

前言

  Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。此漏洞为文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。

编号

  CNVD-2020-10487

  CVE-2020-1938

影响

        Apache Tomcat = 6

        7 <= Apache Tomcat <7.0.100

        8 <= Apache Tomcat <8.5.51

        9 <= Apache Tomcat <9.0.31

复现过程

我这里是使用docker 拉取 tomcat-8.5.32 环境复现的

docker搜索tomcat镜像

docker search tomcat-8.5.32

技术分享图片

拉取镜像

docker pull duonghuuphuc/tomcat-8.5.32

拉取完成后查看是否拉取成功 

docker images

技术分享图片

 

运行镜像并映射端口

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

并查看是否运行成功

docker ps -a

技术分享图片

 

成功后访问系统地址

技术分享图片

 

 nmap 一下试试

技术分享图片

 

至此环境搭建成功

exp1

  https://github.com/0nise/CVE-2020-1938

exp2

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

演示

 技术分享图片

 修复方案

  • 临时禁用AJP协议端口,在conf/server.xm l配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />

  • 配置ajp配置中的secretRequired跟secret属性来限制认证

推荐阅读