CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

栏目: IT技术 · 发布时间: 4年前

内容简介:近日检测到CNVD发布了CNVD-2020-10487漏洞通告,360灵腾安全实验室判断漏洞等级为严重,利用难度中,威胁程度高,影响面大。建议使用用户及时安装最新补丁,以免遭受黑客攻击。Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全局管理和Tomcat阀等。由于Tomcat

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

近日检测到CNVD发布了CNVD-2020-10487漏洞通告,360灵腾安全实验室判断漏洞等级为严重,利用难度中,威胁程度高,影响面大。建议使用用户及时安装最新补丁,以免遭受黑客攻击。

0x00 漏洞概述

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全局管理和Tomcat阀等。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。

攻击者通过Ajp协议端口利用该漏洞进行文件读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。

0x01 漏洞详情

查看 Github 上 tomcat commit 历史记录可以看到有许多对AJP协议的代码提交

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

在其中一条 commit 中,发现了AJP白名单的添加

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

对代码块进行分析,发现 java/org/apache/coyote/ajp/AbstractAjpProcessor.java 中的 prepareRequest() 函数的功能是对 AJP 协议进行解析

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

通过对该函数的调试,可以发现在处理 Constants.SC_A_REQ_ATTRIBUTE 这部分内容时,代码中未进行内容校验,盲目的将请求的内容进行复制

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

因此,我们可以修改AJP请求的属性,进行能够控制任意 request.setAttribute 的key和value,通过控制request对象中这三个属性的值实现文件读取

javax.servlet.include.request_uri
javax.servlet.include.path_info
javax.servlet.include.servlet_path

利用效果:

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

0x02 影响版本

  • Tomcat 6.*
  • Tomcat 7.* < 7.0.100
  • Tomcat 8.* < 8.5.51
  • Tomcat 9.* < 9.0.31

0x03 漏洞检测

相关用户可通过版本检测的方法判断当前应用是否存在漏洞风险:

在web管理页面左上方可查看当前所使用的Tomcat版本

CVE-2020-1938:Apache Tomcat服务器任意文件读取/包含漏洞通告

若当前版本在受影响范围内,则可能存在安全风险。

0x04 处置建议

1.Apache官方已发布9.0.31、8.5.51及7.0.100版本针对此漏洞进行修复,Apache Tomcat 6 已经停止维护,请升级到最新受支持的 Tomcat 版本以免遭受漏洞影响:

https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi

2.使用AJP协议的临时处置方法:为AJP Connector配置secret来设置 AJP 协议的认证凭证,且注意口令强度

3.未使用AJP协议的临时处置方法:禁用AJP协议端口,在conf/server.xml配置文件中注释,并重启Tomcat服务

<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />

0x05 关于我们

灵腾安全实验室(REDTEAM)正式成立于2020年,隶属于360政企-实网威胁感知部;主攻研究方向包括红队技术、物理攻防、安全狩猎等前瞻技术,为 360AISA全流量威胁分析系统360天相资产威胁与漏洞管理系统360虎安服务器安全管理系统360蜃景攻击欺骗防御系统 核心产品提供安全赋能。

0X06 Reference

https://www.cnvd.org.cn/flaw/show/CNVD-2020-10487?spm=a2c4g.11174464.0.0.48a21051t59uVP


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Boolean Reasoning

Boolean Reasoning

Brown, Frank Markham / 2003-4 / $ 19.15

A systematic treatment of Boolean reasoning, this concise, newly revised edition combines the works of early logicians with recent investigations, including previously unpublished research results. Th......一起来看看 《Boolean Reasoning》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具