漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-025910
漏洞标题:威客网某分站struts2漏洞,可shell
相关厂商:威客网
漏洞作者: darkwind
提交时间:2013-06-14 13:59
修复时间:2013-07-29 14:00
公开时间:2013-07-29 14:00
漏洞类型:网络设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-06-14: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-07-29: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
该网站平台存在高危漏洞。可以获得root权限,目前已通知厂商。
详细说明:
该平台使用的是webwork框架,处理action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交一个http参数:
?user.address.city=Bishkek&user['favoriteDrink']=kumys
ONGL将它转换为:
action.getUser().getAddress().setCity("Bishkek")
action.getUser().setFavoriteDrink("kumys")
这是通过ParametersInterceptor(参数过滤器)来执行的,使用用户提供的HTTP参数调用 ValueStack.setValue()。
为了防范篡改服务器端对象,XWork的ParametersInterceptor不允许参数名中出现“#”字符,但如果使用了Java的 unicode字符串表示\u0023,攻击者就可以绕过保护,修改保护Java方式执行的值,以执行任意系统命令的执行!
漏洞证明:
修复方案:
将该struts2平台升级为最高。
版权声明:转载请注明来源 darkwind@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝