taibeihacker
Moderator
tomcat7.x远程命令执行(CVE-2017-12615)漏洞漏洞复现
文件。之後,JSP 文件中的代碼將能被服務器執行。
通過以上兩個漏洞可在用戶服務器上執行任意代碼,從而導致數據洩露或獲取服務器權限,存在高安全風險。
五、漏洞利用條件和方式:
CVE-2017-12615漏洞利用需要在Windows環境,且需要將readonly 初始化參數由默認值設置為false,經過實際測試,Tomcat 7.x版本內web.xml配置文件內默認配置無readonly參數,需要手工添加,默認配置條件下不受此漏洞影響。
CVE-2017-12616漏洞需要在server.xml文件配置參數,經過實際測試,Tomcat 7.x版本內默認配置無VirtualDirContext參數,需要手工添加,默認配置條件下不受此漏洞影響。
Tomcat 7.0.0 - 7.0.80
CVE-2017-12615影響範圍: Apache Tomcat 7.0.0 - 7.0.7
1.測試環境為tomcat7.0.70
2.需要手動配置web.xml,開啟http的put方法:
添加如下配置:
init-param
param-namereadonly/param-name
param-valuefalse/param-value
/init-param
3.通過CVE-2017-12615.py即可上傳shell:
4.遠程即可訪問shell:
注意:其利用腳本已上傳到我的github中,https://raw.githubusercontent.com/backlion/demo/master/CVE-2017-12615.py
官方已經發布Apache Tomcat7.0.81版本修復了兩個漏洞,建議升級到最新版本。
一、漏洞前言
2017年9月19日,Apache Tomcat官方確認並修復了兩個高危漏洞,漏洞CVE編號:CVE-2017-12615和CVE-2017-12616,該漏洞受影響版本為7.0-7.80之間,在一定條件下,攻擊者可以利用這兩個漏洞,獲取用戶服務器上JSP 文件的源代碼,或是通過精心構造的攻擊請求,向用戶服務器上傳惡意JSP文件,通過上傳的JSP 文件,可在用戶服務器上執行任意代碼,從而導致數據洩露或獲取服務器權限,存在高安全風險二、漏洞名称
CVE-2017-12615-遠程代碼執行漏洞三、危害等级:
高危四、漏洞描述:
CVE-2017-12616:信息泄露漏洞 當Tomcat 中使用了VirtualDirContext 時,攻擊者將能通過發送精心構造的惡意請求,繞過設置的相關安全限制,或是獲取到由VirtualDirContext 提供支持資源的JSP 源代碼。CVE-2017-12615:远程代码执行漏洞 當Tomcat 運行在Windows 主機上,且啟用了HTTP PUT 請求方法(例如,將readonly 初始化參數由默認值設置為false),攻擊者將有可能可通過精心構造的攻擊請求向服務器上傳包含任意代碼的JSP文件。之後,JSP 文件中的代碼將能被服務器執行。
通過以上兩個漏洞可在用戶服務器上執行任意代碼,從而導致數據洩露或獲取服務器權限,存在高安全風險。
五、漏洞利用條件和方式:
CVE-2017-12615漏洞利用需要在Windows環境,且需要將readonly 初始化參數由默認值設置為false,經過實際測試,Tomcat 7.x版本內web.xml配置文件內默認配置無readonly參數,需要手工添加,默認配置條件下不受此漏洞影響。
CVE-2017-12616漏洞需要在server.xml文件配置參數,經過實際測試,Tomcat 7.x版本內默認配置無VirtualDirContext參數,需要手工添加,默認配置條件下不受此漏洞影響。
六、漏洞影响范围:
CVE-2017-12616影響範圍:ApacheTomcat 7.0.0 - 7.0.80
CVE-2017-12615影響範圍: Apache Tomcat 7.0.0 - 7.0.7
七、漏洞复现
姿势一:python脚本的复现
CVE-2017-12615漏洞復現:1.測試環境為tomcat7.0.70

2.需要手動配置web.xml,開啟http的put方法:
添加如下配置:
init-param
param-namereadonly/param-name
param-valuefalse/param-value
/init-param

3.通過CVE-2017-12615.py即可上傳shell:

4.遠程即可訪問shell:

注意:其利用腳本已上傳到我的github中,https://raw.githubusercontent.com/backlion/demo/master/CVE-2017-12615.py
姿势二:利用文件名后缀加::$DATA绕过上传
通過burpsuit抓包,上傳攔截get改成PUT方法,然後上傳:

姿势三:利用在上传文件名后缀名后加/可绕过上传

姿势四:通过在上传文件后缀名加上%20可绕过

姿势五:通过在上传文件名后缀加上.可绕过上传

八、漏洞修复建议
根據業務評估配置readonly和VirtualDirContext值為Ture或註釋參數,臨時規避安全風險;官方已經發布Apache Tomcat7.0.81版本修復了兩個漏洞,建議升級到最新版本。