Tomcat爆出嚴重漏洞,附影響版本及解決方案


昨天,群里聊嗨了。大家都在遠程辦公,卻都急急忙忙的升級線上的 Tomcat 版本,原因就是 Tomcat 被曝出了嚴重的漏洞,幾乎涉及到所有的版本。

一、漏洞原理
具體來說就是 Apache Tomcat 服務器存在文件包含漏洞,攻擊者可利用該漏洞讀取或包含 Tomcat 上所有 webapp 目錄下的任意文件,如:webapp 配置文件或源代碼等。

由於 Tomcat 默認開啟的 AJP 服務(8009 端口)存在一處文件包含缺陷,攻擊者可構造惡意的請求包進行文件包含操作,進而讀取受影響 Tomcat 服務器上的 Web 目錄文件。

二、漏洞編號
根據資料顯示,涉及到兩個漏洞編號。

CVE-2020-1938

CNVD-2020-1048

三、漏洞影響的版本
Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31

四、漏洞詳情
首先啟動 apache tamcat 服務,訪問 localhost:8080 可以成功訪問如下界面。

 

 

 

通過上圖,我們可以確定到對應 Tomcat 的版本號。

然后再使用漏洞掃描工具對其進行端口掃描發現 8009、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 等。

 

 

 

五、漏洞修復方案
1、禁用Tomcat 的 AJP 協議端口,在 conf/server.xml 配置文件中注釋掉 <Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />。

2、在 ajp 配置中的 secretRequired 跟 secret 屬性來限制認證。

3、對 Tomcat 進行版本升級。

六、寫在最后
你們公司有沒有用 Tomcat?用的版本是多少?有沒有中招?歡迎留言區評論交流!


————————————————
版權聲明:本文為CSDN博主「業余草」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xmtblog/article/details/104454218


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM