Apache-Tomcat-Ajp漏洞(CVE-2020-1938) ——Ghostcat

前言

由于Tomcat AJP协议设计缺陷,攻击者可通过Tomcat AJP Connector可以读取或包含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

复现

官网下载Tomcat版本9.0.20,在受影响范围内,搭建成功后

 漏洞出在开启了AJP协议上,打开AJP协议进行复现,在conf下的server.xml中配置AJP协议,

主要是两处,第一处连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互

 第二处连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器

 使用脚本Apache-Tomcat-Ajp漏洞POC进行测试,如下读取web.xml成功

 读取index.jsp文件

 利用脚本:

以下相关脚本某站上都有,可以自己去找,这里只给下名字及用途

1、CNVD-2020-10487-Tomcat-Ajp-lfi    //可用来验证读取文件

2、2020-10487.py  //py3的脚本,搭配文件上传可执行rce

3、ajpfuzzer_v0.6.jar    //AJP构造器,用来搭配msf直接拿shell

个人看法:

此漏洞对于大多数企业来说危害性并不是特别大,首先8009端口必须对外映射(此处只考虑外网入侵方式),因此企业可以通过查映射的8009开放情况来评估,第二点内网中可能会大量存在此漏洞(8009默认开启),因此内网中才是重灾区

 PS:此处只做复现学习,请勿用于非法用途

posted @ 2020-02-22 22:06  Id3al  阅读(672)  评论(0)    收藏  举报