标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-701]   作者: ecawen 发表于: [2017-09-25]

本文共 [541] 位读者顶过

2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定条件下,攻击者可以利用这两个漏洞,获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意JSP文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险。

1漏洞编号
  • CVE-2017-12616

  • CVE-2017-12615

2漏洞名称
  • CVE-2017-12615-远程代码执行漏洞

  • CVE-2017-12616-信息泄露漏洞

3官方评级

高危

4漏洞描述
  • CVE-2017-12616:信息泄露漏洞

    当Tomcat中启用了 VirtualDirContext时,攻击者将能通过发送精心构造的恶意请求,绕过设置的相关安全限制,或是获取到由VirtualDirContext提供支持资源服务的JSP源代码,从而造成代码信息泄露。

  • CVE-2017-12615:远程代码执行漏洞

    当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

通过以上两个漏洞可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险。

5利用条件
  • CVE-2017-12615漏洞利用需要在Windows环境,且需要将 readonly 初始化参数由默认值设置为 false,经过实际测试,Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,需要手工添加,默认配置条件下不受此漏洞影响[出自:jiwo.org]

  • CVE-2017-12616漏洞需要在server.xml文件配置VirtualDirContext参数,经过实际测试,Tomcat 7.x版本内默认配置无VirtualDirContext参数,需要手工添加,默认配置条件下不受此漏洞影响。

6影响范围
  • CVE-2017-12616影响范围:Apache Tomcat 7.0.0 - 7.0.80

  • CVE-2017-12615影响范围: Apache Tomcat 7.0.0 - 7.0.79

7漏洞复现

本次Apache Tomcat两个CVE漏洞涉及到DefaultServletJspServletDefaultServlet的作用是处理静态文件 ,JspServlet的作用是处理jsp 与jspx 文件的请求,同时DefaultServlet可以处理 PUT 或 DELETE请求,前提要求是readOnlyfalse,Apache Tomcat 7默认值是 true,在默认条件下,无法成功利用这两个漏洞。为了触发漏洞,需要在conf/web.xml 中defaultservlet的配置中手工添加如下配置:

           readonly           false

DefaultServlet readOnly为 false,我们就开启了DefaultServlet处理 PUT 请求的功能,我们就可以向目标服务上传文件。请求必须到达DefaultServlet才能进行 PUT 操作,默认配置条件下,我们能上传的文件的类型是受限制的,无法上传jsp 或者jspx文件。

我们通过构造的请求上传b.jsp,执行该请求请求就会由DefaultServlet处理,从而PUT操作就会顺利执行,成功上传文件,以下通过构造请求,触发并复现该漏洞:

通过以上简单分析我们可以看出,该漏洞需要手动开启readOnly功能,以支持上传操作,在Apache tomcat 7.X版本默认配置的情况下是无法成功利用漏洞。从实际测试来看,漏洞危害性并没有那么高。

8修复建议
  • 根据业务评估配置readonly和VirtualDirContext值为Ture或注释参数,临时规避安全风险;

  • 目前官方已经发布了7.0.81版本修复了两个漏洞,机窝安全建议用户尽快升级到最新版本。

评论

暂无
发表评论
 返回顶部 
热度(541)
 关注微信