web漏洞掃描器編寫: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爆出嚴重漏洞,影響所有版本,附解決方案

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

然後再使用漏洞掃描工具對其進行埠掃描發現 8009、8080 都已埠開啟,證明有該漏洞。

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

然後,大家可以利用 github 上別人寫好的腳本進行攻擊演示。下載地址如下,有兩個。任選其一即可。

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

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

下載好後進入該文件夾 cmd 命令執行並加上網址參數利用 poc。需要注意的是 poc 為 py2 環境。然後執行下面的命令。

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

執行成功後就可以看到成功訪問到該文件 web.xml。其他的 WEB-INF 下面的文件都可以訪問到,包括你的源碼文件,jsp、html、.class 等。

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

五、漏洞修復方案

1、禁用Tomcat 的 AJP 協議埠,在 conf/server.xml 配置文件中注釋掉 <Connector port=”8009″ protocol=”AJP/1.3″redirectPort=”8443″ />。

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

3、對 Tomcat 進行版本升級。

六、寫在最後

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

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/221858.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 13:25
下一篇 2024-12-09 13:25

相關推薦

發表回復

登錄後才能評論