Apache Tomcat 遠程代碼執行漏洞(CVE-2019-0232)漏洞復現
一、 漏洞簡介
漏洞編號和級別
CVE編號:CVE-2019-0232,危險級別:高危,CVSS分值:官方未評定。
漏洞概述
Apache Tomcat是美國阿帕奇(Apache)軟件基金會的一款輕量級Web應用服務器。該程序實現了對Servlet和JavaServer Page(JSP)的支持。
4月11日,Apache官方發佈通告稱將在最新版本中修復一個遠程代碼執行漏洞(CVE-2019-0232),由於JRE將命令行參數傳遞給Windows的方式存在錯誤,會導致CGI Servlet受到遠程執行代碼的攻擊。
觸發該漏洞需要同時滿足以下條件:
1. 系統爲Windows
2. 啓用了CGI Servlet(默認爲關閉)
3. 啓用了enableCmdLineArguments(Tomcat 9.0.*及官方未來發布版本默認爲關閉)
影響範圍
Apache Tomcat 9.0.0.M1 to 9.0.17
Apache Tomcat 8.5.0 to 8.5.39
Apache Tomcat 7.0.0 to 7.0.93
二、 漏洞復現
環境介紹
服務端:Windows 10
Apache Tomcat 8.5.39
Java環境 1.8.0_211
漏洞環境搭建
java環境安裝
- 官網下載jdk安裝包
https://www.oracle.com/technetwork/java/javase/downloads/index.html
鏈接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q
提取碼:asc4
2、根據提示安裝jdk
3、安裝完後 配置路徑,我的電腦->屬性->高級系統設置->環境變量 添加jdk和jre路徑
4、配置成功後如圖:
Apache Tomcat安裝
鏈接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q 提取碼:asc4
2.安裝成功後,運行startup.bat啓動服務
3、訪問http://localhost:8080,如下圖啓動成功。
配置Apache Tomcat服務器(修改conf目錄配置文件,啓用CGI)
1、打開Tomcat安裝目錄的\conf\web.xml修改如下配置,在默認情況下配置是註釋的。
2、同時還要修改web.xml以下配置,否則訪問cgi目錄會提示404。
3、打開Tomcat安裝目錄的\conf\context.xml修改如下配置,添加privileged="true" 。
4、在\webapps\ROOT\WEB-INF目錄新建一個cgi-bin文件夾,創建一個psl.bat的文件,內容如下:
5、至此,此漏洞環境搭建完成
試一試bat文件執行能力
6. 漏洞訪問
Poc1:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/netstat.exe
Poc2:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/ipconfig.exe
三、 解決方案
Apache官方還未正式發佈以上最新版本,受影響的用戶請保持關注,在官方更新後儘快升級進行防護。與此同時,用戶可以將CGI Servlet初始化參數enableCmdLineArguments設置爲false來進行防護。
在Tomcat安裝路徑的conf文件夾下,使用編輯器打開web.xml,找到enableCmdLineArguments參數部分,添加如下配置:
重啓Tomcat服務,以確保配置生效。