Tomcat爆出严重漏洞,附影响版本及解决方案

昨天,群里聊嗨了。你们都在远程办公,却都急急忙忙的升级线上的 Tomcat 版本,缘由就是 Tomcat 被曝出了严重的漏洞,几乎涉及到全部的版本。html

1、漏洞原理
具体来讲就是 Apache Tomcat 服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上全部 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。git

因为 Tomcat 默认开启的 AJP 服务(8009 端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操做,进而读取受影响 Tomcat 服务器上的 Web 目录文件。github

2、漏洞编号
根据资料显示,涉及到两个漏洞编号。web

CVE-2020-1938apache

CNVD-2020-1048服务器

3、漏洞影响的版本
Apache Tomcat 6app

Apache Tomcat 7 < 7.0.100webapp

Apache Tomcat 8 < 8.5.51jsp

Apache Tomcat 9 < 9.0.31工具

4、漏洞详情
首先启动 apache tamcat 服务,访问 localhost:8080 能够成功访问以下界面。

 

 

 

经过上图,咱们能够肯定到对应 Tomcat 的版本号。

而后再使用漏洞扫描工具对其进行端口扫描发现 800九、8080 都已端口开启,证实有该漏洞。

 

 

 

 

 

而后,你们能够利用 github 上别人写好的脚本进行攻击演示。下载地址以下,有两个。任选其一便可。

Poc1 下载地址:https://github.com/0nise/CVE-2020-1938

Poc2 下载地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

下载好后进入该文件夹 cmd 命令执行并加上网址参数利用 poc。须要注意的是 poc 为 py2 环境。而后执行下面的命令。

 

 

 

执行成功后就能够看到成功访问到该文件 web.xml。其余的 WEB-INF 下面的文件均可以访问到,包括你的源码文件,jsp、html、.class 等。

 

 

 

5、漏洞修复方案
一、禁用Tomcat 的 AJP 协议端口,在 conf/server.xml 配置文件中注释掉 <Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />。

二、在 ajp 配置中的 secretRequired 跟 secret 属性来限制认证。

三、对 Tomcat 进行版本升级。

6、写在最后
大家公司有没有用 Tomcat?用的版本是多少?有没有中招?欢迎留言区评论交流!

————————————————版权声明:本文为CSDN博主「业余草」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。原文连接:https://blog.csdn.net/xmtblog/article/details/104454218

相关文章
相关标签/搜索