漏洞概要
关注数(24)
关注此漏洞
漏洞标题:xsser.me的跨站漏洞
提交时间:2012-10-16 17:31
修复时间:2012-11-04 16:50
公开时间:2012-11-04 16:50
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2012-10-16: 细节已通知厂商并且等待厂商处理中
2012-10-19: 厂商已经确认,细节仅向厂商公开
2012-10-29: 细节向核心白帽子及相关领域专家公开
2012-11-04: 厂商提前公开漏洞,细节向公众公开
简要描述:
xsser.me官方提供的chrome插件存在一漏洞,成功利用后,可以在造成在该插件的chrome区的一个xss,通过继承插件的权限,攻击者可以进行进一步攻击,通过进一步的攻击,可以再chrome下留下一个持久的后门,攻击者可以在用户运行浏览器的时候,在任意标签页执行JS代码,获取任意域下的cookie(包括httponly)等等。
详细说明:
对xsser.crx解压
popup.html
xsser.me提供的api接口虽然对一些特殊字符进行了编码,吧'编码成了',但是在特定的条件下,'还是会被当成'来对待。如下情况:
在本次案例中,cookie被直接带入了onclick="replay(':{url}',':{cookie}')"中,因此可以造成onclick的属性值的js语意截断,执行任意代码。由于发生xss的地方不再是传统的web域,而是在插件处,因此能做的事情也就更多了,关于更多chrome插件安全的科普(http://www.slideshare.net/kkotowicz/advanced-chrome-extension-exploitation)
漏洞证明:
PoC
由于xsser.me的projectId是可以预测的(递增的数字),因此可以写一段JS代码,对所有的project都发送一个我构造好的payload log
可以利用下老外写的xss chef(专门搞chrome插件的xss的框架)
但是我们现在的漏洞还是处于一个不完美的状态,因为每一次利用都需要进行一次点击,用简单的话说,我们要把这个反射型xss变成一个存储型xss。
插件的功能是这样实现的:
加载 -> 获取存储在localStorage中的数据 -> render() -> 隔30s调用load函数 -> load函数去对比xsser.me提供的数据和本地数据,判断是否有新的client
上面的render函数直接把desc_url输出,因此他的安全完全取决于外部传入数据(本次案例是xsser.m提供的数据)的安全,如果我们修改localStorage中的数据,render函数输出的html就可以造成xss。
下面是我们的思路
本次运行时:
用户点击 -> 触发xss -> 劫持load函数,并污染本地的localStorage数据。
由于劫持了load函数,因此不会再去官方拉取最新的数据,避免了将已经污染的本地localStorage数据再还原。
下次运行时,localStorage数据已经是被污染了,render()函数渲染后执行了我们加入的xss payload,xss payload再去劫持load函数,达到rootkit的目的。
修复方案:
1.修复插件中的漏洞。
2.xsser.me的projectID变成随机字符串,不可预测。
版权声明:转载请注明来源 p.z@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2012-10-19 20:12
厂商回复:
非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。
最新状态:
2012-11-04:漏洞已完全修复
漏洞评价:
评论
-
2012-10-16 17:38 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2012-10-16 17:43 |
p.z ( 普通白帽子 | Rank:411 漏洞数:40 )
-
2012-10-16 17:45 |
Sogili ( 普通白帽子 | Rank:129 漏洞数:27 )
-
2012-10-16 17:45 |
Jannock ( 核心白帽子 | Rank:2278 漏洞数:204 | 关注技术与网络安全(招人中,有兴趣请私信...)
-
2012-10-16 17:55 |
shack2 ( 普通白帽子 | Rank:470 漏洞数:71 | QQ:1341413415 一个热爱编程(Java),热爱网...)
-
2012-10-16 17:57 |
rayh4c ( 普通白帽子 | Rank:240 漏洞数:23 )
-
2012-10-16 17:58 |
一刀终情 ( 普通白帽子 | Rank:156 漏洞数:28 | PKAV技术宅社区-安全爱好者)
下午所有项目里弹,截获的一个XX cookies;是洞主杰作吧?
-
2012-10-16 18:00 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
-
2012-10-16 18:03 |
一刀终情 ( 普通白帽子 | Rank:156 漏洞数:28 | PKAV技术宅社区-安全爱好者)
-
2012-10-16 18:04 |
波波虎 ( 普通白帽子 | Rank:266 漏洞数:51 | 11111111111)
-
2012-10-16 18:05 |
zzR ( 核心白帽子 | Rank:1382 漏洞数:122 | 收wb 1:5 无限量收 [平台担保])
-
2012-10-16 18:43 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
-
2012-10-16 18:58 |
波波虎 ( 普通白帽子 | Rank:266 漏洞数:51 | 11111111111)
@zzR http://www.wooyun.org/market/3 这个里面买
-
2012-10-16 19:01 |
zzR ( 核心白帽子 | Rank:1382 漏洞数:122 | 收wb 1:5 无限量收 [平台担保])
-
2012-10-16 19:04 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
-
2012-10-16 19:50 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2012-10-16 19:51 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
-
2012-10-16 20:37 |
蟋蟀哥哥 ( 普通白帽子 | Rank:363 漏洞数:57 | 巴蜀人士,80后宅男,自学成才,天朝教育失败...)
其实反向说明一个东西,就是浏览器插件大家一定要小心。。@xsser 既然修复了,你就忽略吧
-
2012-10-16 23:24 |
pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )
-
2012-10-17 00:35 |
yy520 ( 普通白帽子 | Rank:139 漏洞数:12 )
-
2012-10-19 20:43 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
-
2012-10-19 21:08 |
zzR ( 核心白帽子 | Rank:1382 漏洞数:122 | 收wb 1:5 无限量收 [平台担保])
-
2012-10-19 23:01 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
-
2012-10-20 08:26 |
possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)
-
2012-10-20 10:41 |
gainover ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)
@possible 看下腾讯对漏洞的回复,再看看这个。
-
2013-01-07 17:23 |
VIP ( 普通白帽子 | Rank:759 漏洞数:100 )
-
2013-03-09 06:41 |
苏南同学 ( 实习白帽子 | Rank:41 漏洞数:5 | 苏南同学,就是苏南同学~~~)