Tomcat 爆出高危漏洞!

 

请尽快修复!...



本文由公众号 Java技术栈 整理



一、漏洞背景


安全公告编号: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文件里,他对应的配置为:



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

Ajp协议对应的配置为:



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 版本:

Tomcat 分支版本号Tomcat 77.0.0100Tomcat 88.5.51Tomcat 99.0.31下载链接如下:


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
END
最后告诉大家两个好消息
1. 博文视点学院今晚,有一个技术直播,欢迎参加哦:
2. 小灰的图书《漫画算法》最近优惠,
原价79,现在仅37元,欢迎扫码购买哦:


给个[在看],是对小灰最大的支持!


    关注 程序员小灰


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册