IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

Struts Convention插件漏洞(CVE-2016-6795)分析

发布时间:2016-11-24 17:12文章来源:互联网文章作者: 互联网点击次数:
*本文原创作者:angelwhu,转载须注明来自FreeBuf.COM。 000 漏洞简介 struts2漏洞往往一出来就挺火的,但不乏一些利用条件比较苛刻的。而在上个月就发布了一个等级为高的漏洞。本着学习的态度,把这个漏洞从源码角度分析下。并分享下自己分析漏洞的方法和过
*本文原创作者:angelwhu,转载须注明来自FreeBuf.COM。

0×00 漏洞简介

struts2漏洞往往一出来就挺火的,但不乏一些利用条件比较苛刻的。而在上个月就发布了一个等级为高的漏洞。本着学习的态度,把这个漏洞从源码角度分析下。并分享下自己分析漏洞的方法和过程。 先来看看这个漏洞官方介绍,详情请看官方公告:
  • 漏洞描述: Struts Convention插件可能导致任意路径遍历
  • 漏洞具体问题:
It is possible to prepare a special URL which will be used for path traversal and execution of arbitrary code on server side.
  • 最大危险评级: High
  • 影响范围: Struts 2.3.20 – Struts 2.3.31
可以看到: 漏洞标题只是说可以路径遍历。而在具体描述中指出可以执行任意代码,危害等级才有如此高。 在网上搜了搜,没有关于此漏洞的具体分析。因此,本文对于漏洞的理解,只是个人见解~ 如有遗漏与不足,还望指正。

0×01 Convention插件

既然问题出现在Convention插件上,那么必然先要了解这个插件的作用。 Convention惯例的意思。在进行struts2开发时,需要在配置文件(struts.xml)中写一个个action,和对应返回结果的result(可以理解为前端返回的jsp文件)。 但是,写的action多了,配置起来就显得特别繁琐了。struts2 Convention插件可以完全抛弃配置,也就是约定优于配置。官方给的一个图表: 3.png 以第一个为例:当我们访问/hellourl时,不需要进行任何配置。struts2会自动寻找HelloAction类。该类执行完成后,返回一个resultCode(这里是success)。然后,Struts2会在默认路径下找hello.jsp,hello.html,hello-success.jsp等文件,返回给用户。 具体的规范还有很多,具体可以看官方文档学习学习。总之,Convention插件提供了一系列的规范,来使程序员不用写繁琐的配置文件,就能轻松的编写代码。

0×02 补丁分析

Struts在2.3.31版本中,修复了这个问题。于是,可以在github上找找这个版本的修改地方。找到了这样两个相关性修改。看看就觉得应该是的: 4.png5.png 找到修改的两个类文件ConventionsServiceImpl.javaConventionUnknownHandler.java。结合修改的描述,可以初步这样判断: 1. 可以跨目录读取文件 文件中加了这样一个判断: if (resource != null && resource.getPath().endsWith(path)) { 证明对传入的path变量可以利用../进行跨目录读取文件。该行代码就是进行了二次检测(Adds double check if resource exists)。 2.path路径变量可以执行OGNL代码 对于第二个补丁修改,类中加了这个函数: private ResultTypeConfig disableParse(ResultTypeConfig resultConfig) { if (resultConfig != null) { return new ResultTypeConfig.Builder(resultConfig).addParam("parse", "false").build(); } return null; } 在Struts2的Result类中,有一个parse
Struts Convention插件漏洞(CVE-2016-6795)分析
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/diannao/wangluo/571045.html

标签分类:

上一篇:上一篇:【技术分享】MacOS安全:通过email稳定控制Mac总结
下一篇: 下一篇:没有了
无觅关联推荐,快速提升流量