tomcat7.x远程命令执⾏(CVE-2017-12615)漏洞漏洞复现
tomcat7.x远程命令执⾏(CVE-2017-12615)漏洞漏洞复现
⼀、漏洞前⾔
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版本内l配置⽂件内默认配置⽆readonly参数,需要⼿⼯添加,默认配置条件下不受此漏洞影响。
CVE-2017-12616漏洞需要在l⽂件配置参数,经过实际测试,Tomcat 7.x版本内默认配置⽆VirtualDirContext参数,需要⼿⼯添加,默认配置条件下不受此漏洞影响。
六、漏洞影响范围:
CVE-2017-12616影响范围:Apache Tomcat 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.需要⼿动配置l,开启http的put⽅法:
添加如下配置:
<init-param>
cve漏洞库<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
3.通过CVE-2017-12615.py即可上传shell:
4.远程即可访问shell:
姿势⼆:利⽤⽂件名后缀加::$DATA绕过上传
通过burpsuit抓包,上传拦截get改成PUT⽅法,然后上传:
姿势三:利⽤在上传⽂件名后缀名后加/可绕过上传
姿势四:通过在上传⽂件后缀名加上%20可绕过
姿势五:通过在上传⽂件名后缀加上.可绕过上传
⼋、漏洞修复建议
根据业务评估配置readonly和VirtualDirContext值为Ture或注释参数,临时规避安全风险;官⽅已经发布Apache Tomcat  版本修复了两个漏洞,建议升级到最新版本。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。