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/