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

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

缺陷编号:wooyun-2012-08835

漏洞标题:华为某盘远程代码执行漏洞

相关厂商:华为技术有限公司

漏洞作者: 乌山云雨

提交时间:2012-06-27 01:29

修复时间:2012-08-11 01:29

公开时间:2012-08-11 01:29

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

远程执行任意代码

详细说明:

Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交一个http参数:
Java代码
?user.address.city=Bishkek&user['favoriteDrink']=kumys
?user.address.city=Bishkek&user['favoriteDrink']=kumys
ONGL将它转换为:
Java代码
action.getUser().getAddress().setCity("Bishkek")
action.getUser().setFavoriteDrink("kumys")
action.getUser().getAddress().setCity("Bishkek")
action.getUser().setFavoriteDrink("kumys")
这是通过ParametersInterceptor(参数过滤器)来执行的,使用用户提供的HTTP参数调用 ValueStack.setValue()。
为了防范篡改服务器端对象,XWork的ParametersInterceptor不允许参数名中出现“#”字符,但如果使用了Java的 unicode字符串表示\u0023,攻击者就可以绕过保护,修改保护Java方式执行的值:

漏洞证明:

修复方案:

打补丁

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2012-06-29 10:33

厂商回复:

已经修改,谢谢白帽子的支持

最新状态:

暂无