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


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

查看所有标签

猜你喜欢:

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

Python带我起飞

Python带我起飞

李金洪 / 电子工业出版社 / 2018-6 / 79

《Python带我起飞——入门、进阶、商业实战》针对Python 3.5 以上版本,采用“理论+实践”的形式编写,通过大量的实例(共42 个),全面而深入地讲解“Python 基础语法”和“Python 项目应用”两方面内容。书中的实例具有很强的实用性,如对医疗影像数据进行分析、制作爬虫获取股票信息、自动化实例、从一组看似混乱的数据中找出规律、制作人脸识别系统等。 《Python带我起飞——......一起来看看 《Python带我起飞》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

在线XML、JSON转换工具