Apache Tomcat任意文件讀取漏洞POC測試(CVE-2020-1938)
1.背景
Tomcat是由Apache軟件基金會屬下Jakarta項目開發的Servlet容器,按照Sun Microsystems提供的技術規範,實現了對Servlet和JavaServer Page(JSP)的支持。
Apache Tomcat會開啓AJP連接器,方便與其他Web服務器通過AJP協議進行交互。由於Tomcat本身也內含了HTTP服務器,因此也可以視作單獨的Web服務器。此漏洞爲文件包含漏洞,攻擊者可利用該漏洞讀取或包含 Tomcat 上所有 webapp 目錄下的任意文件,如:webapp 配置文件、源代碼等。
2.漏洞影響版本
Apache Tomcat = 6
7 <= Apache Tomcat < 7.0.100
8 <= Apache Tomcat < 8.5.51
9 <= Apache Tomcat < 9.0.31
3.漏洞復現
搭建好環境,下載利用的poc,在github搜查即可,然後測試,下載地址如下:
https://github.com/0nise/CVE-2020-1938
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
4.修復建議
(1)臨時禁用AJP協議端口,在conf/server.xml配置文件中註釋掉:
<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
(2)配置ajp配置中的secretRequired跟secret屬性來限制認證
(3)下載更新版本。