您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2013年08月05日 23:31

原创 Struts2出现高危漏洞,请勿使用2.3.15.1版本以下的Struts2

2791 次浏览 读完需要≈ 7 分钟

内容目录

Struts是Apache基金会Jakarta项目组的一个开源项目,Struts通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。目前,Struts广泛应用于大型互联网企业、政府、金融机构等网站建设,并作为网站开发的底层模板使用,是应用最广泛的Web应用框架之一。

近日,Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。

Apache Struts团队已发布了最新的Struts 2.3.15.1,修复了上述漏洞,建议采用Struts 2.0至Struts 2.3的网站开发者尽快升级至最新版。

据乌云平台漏洞报告,淘宝、京东、腾讯等大型互联网厂商均受此影响,而且漏洞利用代码已经被强化,可直接通过浏览器的提交对服务器进行任意操作并获取敏感内容。Struts漏洞影响巨大,受影响站点以电商、银行、门户、政府居多,而且一些自动化、傻瓜化的利用工具开始出现,填入地址可直接执行服务器命令,读取数据甚至直接关机等操作。

struts2爆高危漏洞

Struts2“命令执行漏洞”早在2010年已经曝光,但当时没有公开的漏洞利用工具,因此并未造成过多危害。直到近期,针对该漏洞新的攻击代码在网上公开,漏洞利用工具也随之涌现,使黑客攻击完全没有门槛,80%以上应用Struts2框架的网站因此面临严重风险。

经360网站安全检测平台分析,Apache Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,将每个HTTP参数名处理为OGNL(对象图形导航语言)语句。为了防范攻击者通过HTTP参数调用任意方式,XWork使用了以下两个变量保护方式的执行:

  • OgnlContext的属性xwork.MethodAccessor.denyMethodExecution(默认设置为true)
  • SecurityMemberAccess私有字段allowStaticMethodAccess(默认设置为false)

为了防范篡改服务器端对象,XWork的ParametersInterceptor不允许参数名中出现#字符,但如果使用了Java的unicode字符串表示\u0023,攻击者就可以绕过保护,修改保护Java方式执行的值。进一步可调用java语句来执行任意命令,甚至控制操作系统。

之前Struts2官方补丁屏蔽了黑客通过\u0023(16进制的#) 攻击的方式,但黑客仍可以利用\43(8进制的#)实施突破。

鉴于Struts2“命令执行漏洞”影响网站众多,且危害巨大,360网站安全检测平台已紧急更新漏洞库,并向存在漏洞的注册网站发送示警邮件,同时建议所有使用Struts2框架的用户立即升级至官方最新版本,并定期使用360网站安全检测服务随时掌控网站安全状况。

最后再次提醒广大网站管理员,尽快将Struts 2升级到最新的2.3.15.1版本。
Struts 2.3.15.1官方下载:
http://struts.apache.org/download.cgi#struts23151
如果官方下载过慢,你也可以使用360云盘分享的下载地址:
http://yunpan.cn/Qn5MaTzBYH488

Strust2官方漏洞公告网址:
http://struts.apache.org/release/2.3.x/docs/s2-016.html
http://struts.apache.org/release/2.3.x/docs/s2-017.html

相关新闻来源:
驱动之家:http://news.mydrivers.com/1/269/269596.htm
360:http://webscan.360.cn/news/news64

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论