北京惟望科技发展有限公司010-64283188 登录 | 注册

当前位置:首页 > 经验交流

关于社保Web应用系统中Struts2中间件存在高危漏洞的分析及解决措施

发布日期:2016-05-25 来源:人社部信息化领导小组办公室 浏览次数:1375

【导读】:Struts2是第二代基于Model-View-Controller(MVC)模型的Java企业级Web应用框架,是一款国内外较为流行的Web中间件。

一、漏洞情况分析


Struts2是第二代基于Model-View-Controller(MVC)模型的Java企业级Web应用框架,是一款国内外较为流行的Web中间件。Struts2的核心jar包struts2-core中,存在一个default.properties的默认配置文件用于配置全局信息,当配置项struts.enable.DynamicMethodInvocation=true时,即开启动态方法调用功能。尽管在Struts2目前的安全策略中,对部分动态调用方法进行了特殊字符传递的限制,但在该漏洞中攻击者仍能通过OGNL表达式静态调用的方式进行绕过,进而在服务器端执行任意代码。


二、漏洞影响范围


漏洞影响Struts 2.0.0-2.3.28 (除2.3.20.2和2.3.24.2以外)版本,目前漏洞利用代码已经在互联网上快速传播。根据第三方漏洞通报平台公布的信息,已经出现涉及银行、保险行业单位以及大型电信企业的信息系统受漏洞影响的案例报告。


三、漏洞修补措施


目前,Apache Struts官方网站已发布了升级补丁,用户可以通过两种方式修复该漏洞。


方法一:升级Struts2至Struts 2.3.20.2,2.3.24.2,2.3.28.1版本修复该漏洞。(注:更新地址:https://cwiki.apache.org/confluence/display/WW/Migration+Guide)


方法二:为应急修复,可以在Struts2配置文件中关闭动态方法调用来避免漏洞被利用。(注:配置属性信息<constantname“struts.enable.DynamicMethodInvocation”value=“false”/>,此操作可能影响用户信息系统其他正常功能,仅作为临时应急修复手段)。

分享到:
相关阅读