Tomcat 爆出高危漏洞!

一、漏洞背景

安全公告编号:CNTA-2020-0004

2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞。

CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,攻击者可利用该高危漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:****webapp 配置文件或源代码等

受影响的版本包括:Tomcat 6,Tomcat 7的7.0.100以下版本,Tomcat 8的8.5.51以下版本,Tomcat 9的9.0.31以下版本。

CNVD 对该漏洞的综合评级为“高危”。

二、影响版本

1、Apache Tomcat 9.x < 9.0.31

2、Apache Tomcat 8.x < 8.5.51

3、Apache Tomcat 7.x < 7.0.100

4、Apache Tomcat 6.x

三、漏洞分析

3.1 AJP Connector

Apache Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector表示接收请求并返回响应的端点。即Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。

在Apache Tomcat服务器中我们平时用的最多的8080端口,就是所谓的Http Connector,使用Http(HTTP/1.1)协议

conf/server.xml文件里,他对应的配置为:

<Connector?port="8080"?protocol="HTTP/1.1"
???????????????connectionTimeout="20000"
???????????????redirectPort="8443"?/>

而 AJP Connector,它使用的是 AJP 协议(Apache Jserv Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本,它能降低 HTTP 请求的处理成本,因此主要在需要集群、反向代理的场景被使用。

Ajp协议对应的配置为:

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

Tomcat服务器默认对外网开启该端口 Web客户访问Tomcat服务器的两种方式:

3.2 代码分析

漏洞产生的主要位置在处理Ajp请求内容的地方org.apache.coyote.ajp.AbstractAjpProcessor.java#prepareRequest()

这里首先判断SCAREQ_ATTRIBUTE,意思是如果使用的Ajp属性并不在上述的列表中,那么就进入这个条件

SCAREQREMOTEPORT对应的是AJPREMOTEPORT,这里指的是对远程端口的转发,Ajp13并没有转发远程端口,但是接受转发的数据作为远程端口。

于是这里我们可以进行对Ajp设置特定的属性,封装为request对象的Attribute属性 比如以下三个属性可以被设置:

javax.servlet.include.request_uri  

javax.servlet.include.path_info  

javax.servlet.include.servlet_path

3.3 任意文件读取

当请求被分发到org.apache.catalina.servlets.DefaultServlet#serveResource()方法

调用getRelativePath方法,需要获取到request_uri不为null,然后从request对象中获取并设置pathInfo属性值和servletPath属性值

接着往下看到getResource方法时,会把path作为参数传入,获取到文件的源码

漏洞演示:读取到/WEB-INF/web.xml文件

3.4 命令执行

当在处理 jsp 请求的uri时,会调用 org.apache.jasper.servlet.JspServlet#service()

最后会将pathinfo交给serviceJspFile处理,以jsp解析该文件,所以当我们可以控制服务器上的jsp文件的时候,比如存在jsp的文件上传,这时,就能够造成rce

漏洞演示:造成rce

四、修复建议

Apache Tomcat 6 已经停止维护,请升级到最新受支持的 Tomcat 版本以免遭受漏洞影响,请更新到如下Tomcat 版本:

下载链接如下:

7.0.100版本:https://tomcat.apache.org/download-70.cgi

8.5.51版本:https://tomcat.apache.org/download-80.cgi

9.0.31版本 https://tomcat.apache.org/download-90.cgi

作者:Hu3sky

www.anquanke.com/post/id/199448

推荐去我的博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

生活很美好,明天见~

原文地址:https://www.cnblogs.com/javastack/p/12636725.html

时间: 2024-10-21 00:42:02

Tomcat 爆出高危漏洞!的相关文章

市卫生和社保系统出现大量高危漏洞

补天漏洞响应平台”发布数据显示,已经有超过30个省市围绕社保系统.户籍查询系统.疾控中心.医院等大量爆出高危漏洞,仅社保类信息安全漏洞统计就达到5279.4万条,涉及人员数量达数千万,其中包括个人身份证.社保参保信息.财务.薪酬.房屋等敏感信息. http://baozoumanhua.com/users/10846497http://baozoumanhua.com/users/10846508http://baozoumanhua.com/users/10846509http://baozo

Apache Tomcat AJP协议高危漏洞风险提示

关于Apache Tomcat存在文件包含漏洞的安全公告 2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938).攻击者利用该漏洞,可在未授权的情况下远程读取特定目录下的任意文件.目前,漏洞细节尚未公开,厂商已发布新版本完成漏洞修复. 一.漏洞情况分析 Tomcat是Apache软件基金会Jakarta 项目中的一个核心项目,作为目前比较流行的Web应

Tomcat代码执行漏洞(CVE-2017-12615)的演绎及个人bypass

0x00 漏洞简介 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞. 漏洞CVE编号:CVE-2017-12615和CVE-2017-12616. 其中 远程代码执行漏洞(CVE-2017-12615) 影响: Apache Tomcat 7.0.0 - 7.0.79 漏洞触发条件: 1,tomcat得架设在windows主机上 2,将readonly由默认值true设置为false.(开启http PUT 方法) 攻击者将有可能可通过精心构造的攻击请求向服务器上传

如何临时规避安全扫描的高危漏洞

信息中心对机房服务器进行安全扫描,短期内如何规避高危漏洞,在不影响线上业务的情况下通过安全扫描? 问题及风险描述系统进行安全扫描,扫描出windous服务器和linux服务器皆存在高危漏洞.需要在短时间内进行修复,并且通过安全扫描.我们知道,常规的漏洞修复流程一般都是对应用打补丁或者版本升级,这些操作耗费的时间较长,且危险系数较高,因为在未测试的情况下,我们并不知道版本升级之后是否还会兼容现在的业务场景,大概率会影响正常的线上业务.于是,我们就需要一些临时规避扫描的方法. 问题处理1.windo

Apache Tomcat信息泄露漏洞(CVE-2016-8745)

10.4.62.91   10.4.62.92   10.4.62.93   10.4.62.94 Apache Tomcat信息泄露漏洞(CVE-2016-8745):可通过HTTP获取远端WWW服务信息 发布时间:2016-12-12 重要程度:重要 受影响的版本: Apache Tomcat 9.0.0.m1到9.0.0.m13 Apache Tomcat 8.5.0到8.5.8 更早期版本不受影响 描述: 8.5.x 的 Connector 代码重构引入了一个在 NIO HTTP 连接器

IIS曝高危漏洞 安全狗发布完美修复方案

IIS曝高危漏洞,安全狗紧急响应,第一时间更新防护规则,以防御该漏洞攻击,为服务器和网站用户提供实时保护. 在微软发布的2015年4月安全补丁中,修复了HTTP.sys 中一处允许远程执行代码漏洞(CVE-2015-1635).而这个高危漏洞也掀起了网络世界的攻击风暴.据悉,该漏洞利用代码已在国外技术网站Pastebin上公开,黑客只要发送恶意数据包直打安装IIS的服务器,就可导致系统蓝屏崩溃. 这个安全漏洞对服务器系统产生的影响不小,所有安装了IIS 6.0以上版本的Windows Serve

据说struts2又出高危漏洞

无意间从blog.trtos.com和一些知名安全平台里看到了别人分享的struts2高危漏洞相关信息,甚是惊讶,心想:struts2框架是要被例如web应用黑名单的节奏啊,漏洞频出,一出就是高危.简直了,不过据了解该漏洞比较难以利用,原因是大部分网站没有使用存在这个漏洞struts2的插件,所以攻击者即使知道了怎么攻击,但是没有攻击对象就很没意思了. 下面是漏洞文章: http://blog.trtos.com/?id=822

黄聪:PHP 防护XSS,SQL,代码执行,文件包含等多种高危漏洞

版本:v1.1更新时间:2013-05-25更新内容:优化性能功能说明: 可以有效防护XSS,sql注射,代码执行,文件包含等多种高危漏洞. 使用方法: 将waf.php传到要包含的文件的目录 在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码就可以做到页面防注入.跨站 复制代码 require_once('waf.php'); 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config.inc.php,来调用本代码.常用php系统添加文件 PHPC

“织梦”CMS注入高危漏洞情况

"织梦"CMS注入高危漏洞情况 作者:    时间:2014-04-17   "织梦"CMS是由上海卓卓网络科技有限公司研发的一款网站建站系统软件,又称"DEDE内容管理系统",在国内应用较为广泛.2014年2月25日,该软件被披露存在一个高危漏洞,由于页面参数未进行严格过滤,存在SQL注入漏洞.受漏洞影响的织梦CMS 版本包括V 5.7 SP1及以下版本.至2月28日,针对该漏洞的攻击利用代码和相关利用工具在互联网上已经被公开传播.攻击者可利用