读书人

struts2最新更新的2.3.15.2版本的修理

发布时间: 2013-11-15 22:28:15 作者: rapoo

struts2最新更新的2.3.15.2版本的修复的两处漏洞
漏洞概述:
身份认证绕过漏洞和任意方法调用漏洞。
漏洞影响:
配置了struts2身份认证的应用都有可能受到影响
漏洞详情:

可以先参考今天轻瑶发布的struts2更新日志。
http://struts.apache.org/release/2.3.x/docs/version-notes-23152.html

主要更新了如下两点:
Broken Access Control Issue fixed
Dynamic Method Invocation set to false by default
看描述:第一点是权限控制的漏洞,第二点是动态方法调用默认关闭。官方同时还给出了两个cve,但是都没有给出漏洞详情。吸取了上次的教训,:)

先说第一点:
下载struts2的源码作对比,主要还是更新了DefaultActionMapper这个类,详情如图

通过这个diff,可以猜出漏洞的利用方式。
如下例子,通过jetty和struts配置的一个权限控制绕过的例子。
首先在web.xml中配置HelloWorld.action的访问,只有dingo身份的用户才可以访问。


输入用户名密码:fuck fuckme,即可显示内容。

但是当我们直接采用如下的url访问时,身份验证直接被绕过了。

http://127.0.0.1:8080/struts2-blank/example/Login.action?action:HelloWorld




接着是第二点:
直接通过远程方法调用,也可以执行没有经过授权的action中的受限方法,比如HelloWorld.action中的:



漏洞修复:
升级struts到最新版本

读书人网 >开源软件

热点推荐