当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-010660

漏洞标题:某电力公司网站存在Struts导致远程命令执行

相关厂商:河北电力公司

漏洞作者: NoArgs

提交时间:2012-08-07 10:37

修复时间:2012-09-21 10:38

公开时间:2012-09-21 10:38

漏洞类型:系统/服务补丁不及时

危害等级:中

自评Rank:9

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-08-07: 细节已通知厂商并且等待厂商处理中
2012-08-09: 厂商已经确认,细节仅向厂商公开
2012-08-19: 细节向核心白帽子及相关领域专家公开
2012-08-29: 细节向普通白帽子公开
2012-09-08: 细节向实习白帽子公开
2012-09-21: 细节向公众公开

简要描述:

网站使用的Struts架构版本过低,导致远程命令执行的问题。

详细说明:

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进制的#)实施突破。

漏洞证明:

修复方案:

升级Struts到2.2.3.1及以上版本。

版权声明:转载请注明来源 NoArgs@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2012-08-09 23:22

厂商回复:

CNVD确认漏洞情况,已将事件由CNCERT转报中国电力科学研究院处置。
rank 7

最新状态:

暂无