漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0141454
漏洞标题:音悦台主站XSS(进击吧XSS之Rootkit的奇袭)
相关厂商:音悦台
漏洞作者: qwerty
提交时间:2015-09-16 09:13
修复时间:2015-10-31 10:24
公开时间:2015-10-31 10:24
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-09-16: 细节已通知厂商并且等待厂商处理中
2015-09-16: 厂商已经确认,细节仅向厂商公开
2015-09-26: 细节向核心白帽子及相关领域专家公开
2015-10-06: 细节向普通白帽子公开
2015-10-16: 细节向实习白帽子公开
2015-10-31: 细节向公众公开
简要描述:
很久没提交漏洞了。这几天又翻了翻乌云。
跨站漏洞,大范围影响音悦台主站。
详细说明:
打开音悦台主站,UI做的不错,挺清新的。
Chrome看了一下请求包,页面展示过程中加载了3个Flash
第一个是阿里云的一个Flash文件,之前就是这个Flash被报的XSS Rootkit漏洞,现在已经做了比较好的过滤。
第二个Flash也同样的对很多特殊字符做了过滤。
第三个Flash是音悦台自己的一个Flash,会记录mv播放列表、播放器状态等等一系列数据。
注意到之前这个Flash同样存在XSS Rootkit漏洞。我们来看看现在是如何修复的,
Flash中添加的JavascriptAPI:
这些API中getData对应的具体ActionScript代码:
这个函数接口返回值是一个json数据,并没有对返回值做校验、过滤等操作。
那修复漏洞时,做了哪些整改呢
可以看到Flash的Security.allowDomain 已经做了限制:
这样的话就不能直接在第三方页面上对这个Flash的lso进行操作了。
但是仅仅是这样做限制,并不能解决Rootkit的问题,也就是说在上图任一域下,如果存在可控来操作Flash lso内容的漏洞,如:XSS,就可以植入Rootkit。
所以为了利用这个Rootkit的漏洞,就得在这些域名下再找一个XSS漏洞。
UGC内容比较多的i.yinyuetai.com,却不在上述域名范围内,比较蛋疼。
简单看了下富文本编辑器,一般的过滤也都做了。去绕的话,估计也比较花时间。
蛋疼之余又回来看了下 flashlocalstorage.swf 这个Flash,于是看到了另外一个容易出现问题Flash JS接口
跟一下参数this._provider.config.readycallback,果然是可控的:
这样就完美了,这个域名也是范围内的
http://s.yytcdn.com/swf/common/flashlocalstorage.swf?t=20150227&readycallback=alert(1)
后面就很简单了。调一下POC,短网址搞一个。
当然也可以自己搞个隐蔽点的页面,iframe引用这个poc。利用方式就可以跟Flash XSS Rootkit一样了。
像这样
然后这样
POC代码换成利用代码,就可以 大范围、持久、Rootkit用户啦,Cookie也没httponly,任意利用啊
赶紧修复吧~
漏洞证明:
见详细说明
修复方案:
过滤过滤
ExternalInterface.addCallback
ExternalInterface.call
版权声明:转载请注明来源 qwerty@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:7
确认时间:2015-09-16 10:23
厂商回复:
谢谢关注音悦台的安全问题,稍后发送礼物。
最新状态:
暂无