CVE-2020-1938:Apache Tomcat文件包含復現
- 2020 年 3 月 17 日
- 筆記
本文作者:Loading(Timeline Sec復現組成員)
本文共843字,閱讀大約需要2~3分鐘
聲明:請勿做非法用途,否則後果自負
0x01 簡介
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。
0x02 漏洞概述
由於Tomcat默認開啟的AJP服務(8009端口)存在一處文件包含缺陷,攻擊者可構造惡意的請求包進行文件包含操作,進而讀取受影響Tomcat服務器上的Web目錄文件。
0x03 影響版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
0x04 環境搭建
公眾號內回復「Tomcat安裝包」獲取安裝包
首先確保Java環境已安裝
將tomcat文件解壓到你要安裝的文件夾下,進入文件夾中的bin文件夾,使用cmd命令執行startup.bat文件,出現加載界面,待加載完成後在瀏覽器訪問http://localhost:8080界面訪問成功則說明tomcat安裝成功。
0x05 漏洞復現
首先啟動apache tamcat服務
對其進行端口掃描發現8009,8080端口開啟,證明有該漏洞。
Poc1下載地址:
https://github.com/0nise/CVE-2020-1938
Poc2下載地址:
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
下載好後進入該文件夾cmd命令執行並加上網址參數,poc為py2環境,命令為:
python ./CNVD-2020-10487-Tomcat-Ajp-lfi.py 本地ip –p 8009 –f WEB-INF/web.xml
執行成功後可以看到成功訪問到該文件。
0x06 修復方式
1、臨時禁用AJP協議端口,在conf/server.xml配置文件中注釋掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
2、配置ajp配置中的secretRequired跟secret屬性來限制認證
3、官方下載最新版下載地址:
https://tomcat.apache.org/download-70.cgi https://tomcat.apache.org/download-80.cgi https://tomcat.apache.org/download-90.cgi
4、Github下載:
https://github.com/apache/tomcat/releases
參考鏈接:
https://www.cnblogs.com/L0ading/p/12341112.html
https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html
作者博客:
https://www.cnblogs.com/L0ading/