漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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
最新状态:
暂无