标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[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漏洞编号
高危 4漏洞描述
通过以上两个漏洞可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险。 5利用条件
本次Apache Tomcat两个CVE漏洞涉及到DefaultServlet和JspServlet,DefaultServlet的作用是处理静态文件 ,JspServlet的作用是处理jsp 与jspx 文件的请求,同时DefaultServlet可以处理 PUT 或 DELETE请求,前提要求是readOnly为false,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修复建议
|