CVE-2019-0232
1、漏洞簡介
CVE-2019-0232漏洞是由於Tmocat CGI將命令行參數傳遞給Windows程序的方式存在錯誤,使得CHIServler被命令注入影響。
該漏洞只影響Windows平台,要求啟用了CGIServlet和enableCmdLineArguments參數。但是CGIServlet和enableCmdLineArguments參數默認情況下都不啟用。
漏洞影響范圍:
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
2、搭建環境
靶機:windows7
jdk環境(我這里用的jdk_1.8.0_201)
下載符合版本的Tomcat安裝包 https://archive.apache.org/dist/tomcat/
3、漏洞復現
1、下載好安裝包之后,進入bin目錄執行startup.bat啟動tomcat。
2、訪問http://localhost:8080
3、修改配置文件
Tomcat的CGI Servlet組件時默認關閉的,在conf/web.xml中找到注釋的CGIServlet部分,刪除注釋,並配置enableCmdLineArguments和executable(刪除注釋的一共兩部分;源文件沒有enableCmdLineArguments和executable參數所以需要手打即下訪紅框內容)
接着修改conf/context.xml文檔中的<Context>添加privileged=“true”語句
4、在apache-tomcat-9.0.13安裝包中的webapps/ROOR/WEB-INF目錄下新建cgi-bin文件夾,並在文件夾內創建bat文件,bat文件內容如下:
環境配置完畢!重啟tomcat服務。
5、利用payload:
http://localhost:8080/cgi-bin/hello.bat?&C%3A%5CWindows%5CSystem32%5Ccalc.exe
進行訪問:
漏洞復現完成。
4、修復建議
- 禁用enableCmdLineArguments參數。
- 在conf/web.xml中覆寫采用更嚴格的參數合法性檢驗規則。
- 升級tomcat到9.0.17以上版本。