CVE

CVE-2020-1938复现

道锋潜鳞
2020-03-14 / 0 评论 / 56 阅读 / 正在检测是否收录...

在开头,我们先了解一下 Tomcat AJP Connector 是什么

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

    默认情况下,Tomcat 配置了两个 Connector,它们分别是 HTTP Connector 和 AJP Connector:

    HTTP Connector:用于处理 HTTP 协议的请求(HTTP/1.1),默认监听地址为 0.0.0.0:8080

    AJP Connector:用于处理 AJP 协议的请求(AJP/1.3),默认监听地址为 0.0.0.0:8009

    HTTP Connector 就是用来提供我们经常用到的 HTTP Web 服务。而 AJP Connector,它使用的是 AJP 协议(Apache Jserv Protocol),AJP 协议可以理解为 HTTP 协议的二进制性能优化版本,它能降低 HTTP 请求的处理成本,因此主要在需要集群、反向代理的场景被使用。

那么Ghostcat 漏洞有哪些危害

通过 Ghostcat 漏洞,攻击者可以读取 Tomcat所有 webapp目录下的任意文件。

    此外如果网站应用提供文件上传的功能,攻击者可以先向服务端上传一个内容含有恶意 JSP 脚本代码的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用 Ghostcat 漏洞进行文件包含,从而达到代码执行的危害

受影响版本

Apache Tomcat 9.x < 9.0.31

Apache Tomcat 8.x < 8.5.51

Apache Tomcat 7.x < 7.0.100

Apache Tomcat 6.x

要想利用,总要有个环境吧,那么那些环境呢?

对于处在漏洞影响版本范围内的 Tomcat 而言,若其开启 AJP Connector 且攻击者能够访问 AJP Connector 服务端口的情况下,即存在被 Ghostcat 漏洞利用的风险

    注意 Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009 

说那么多。。。。

先复现吧。。。。

安装docker

搭建复现环境

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

问题来了

Ghostcat 漏洞该如何修复或缓解

Tomcat 官方已发布 9.0.31、8.5.51 及 7.0.100 版本针对此漏洞进行修复。

要正确修复此漏洞,首先需要确定您的服务器环境中是否有用到 Tomcat AJP 协议:

· 如果未使用集群或反向代理,则基本上可以确定没有用到 AJP;

· 如果使用了集群或反向代理,则需要看集群或反代服务器是否与 Tomcat 服务器 AJP 进行通信

在线检测地址

https://www.chaitin.cn/zh/ghostcat#online_test

0

评论 (0)

取消