ghostcat

CVE-2020-1938/CNVD-2020-10487漏洞分析

你。 提交于 2020-03-23 20:52:01
3 月,跳不动了?>>>      Apache Tomcat是一个开源的Java servlet容器。2月20日,长亭科技研究人员发现了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。   本文介绍如何利用该漏洞实现远程代码执行。    AJP协议   AJP是Apache Tomcat web服务器用来与servlet容器通信的一个二进制协议。主要用于集群或逆向代理场景,其中web服务器与应用服务器或servelet容器进行通信。   简单来说,就是HTTP Connector暴露给客户端了,AJP是webserver (如Apache HTTPD)和Apache Tomcat服务器之间内部使用的,如图1所示。AJP在Apache HTTP服务器中是以模块的形式实现的,表示为mod_jk或mod_proxy_ajp。AJP本身并不会暴露到外部,这也是下一部分要讨论的RCE场景的先决条件之一。      图 1. Apache JServ协议说明    Ghostcat漏洞   Ghostcat本身是一个Local File Include

CVE-2020-1938/CNVD-2020-10487漏洞分析

半城伤御伤魂 提交于 2020-03-20 23:22:01
3 月,跳不动了?>>>      Apache Tomcat是一个开源的Java servlet容器。2月20日,长亭科技研究人员发现了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。   本文介绍如何利用该漏洞实现远程代码执行。    AJP协议   AJP是Apache Tomcat web服务器用来与servlet容器通信的一个二进制协议。主要用于集群或逆向代理场景,其中web服务器与应用服务器或servelet容器进行通信。   简单来说,就是HTTP Connector暴露给客户端了,AJP是webserver (如Apache HTTPD)和Apache Tomcat服务器之间内部使用的,如图1所示。AJP在Apache HTTP服务器中是以模块的形式实现的,表示为mod_jk或mod_proxy_ajp。AJP本身并不会暴露到外部,这也是下一部分要讨论的RCE场景的先决条件之一。      图 1. Apache JServ协议说明    Ghostcat漏洞   Ghostcat本身是一个Local File Include