漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2012-08354
漏洞标题:百度贴吧存储型XSS - Flash又中枪了~~
相关厂商:百度
漏洞作者: gainover
提交时间:2012-06-16 12:06
修复时间:2012-07-31 12:07
公开时间:2012-07-31 12:07
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2012-06-16: 细节已通知厂商并且等待厂商处理中
2012-06-19: 厂商已经确认,细节仅向厂商公开
2012-06-29: 细节向核心白帽子及相关领域专家公开
2012-07-09: 细节向普通白帽子公开
2012-07-19: 细节向实习白帽子公开
2012-07-31: 细节向公众公开
简要描述:
由于是帖子正文的存储型Xss,自动触发,可蠕虫,危害你们比俺清楚。
详细说明:
发现流程如下:
1. 平时有事没事的时候,就会去自己的gainover吧测试一下。
2. 今天晚上又去了,一直还没用过投票功能咧,就进去看了下。
3. 发现有一个图片投票的功能,于是就随便弄了3个图,发布了一下。
4. 发布之后,发现这个投票,是Flash做的。
5. 既然图片是在Flash里加载的,那么肯定是用的 Loader类来加载外部图片URL实现的了。
6. 直觉告诉我,这里可能存在一处安全问题。
7. 这里存在安全问题需要满足几个条件,A. 投票的flash允许执行脚本,即allowscriptaccess需为samedomain/未设置/always,但是投票的flash文件与百度贴吧不同域,因为allowscriptacess必须为always。 B. flash里未对外部加载的URL内容进行判断
8. F12 打开调试工具,可以看到我们运气真好,allowscriptaccess是always,希望就在前方。
9. 接着我们再次去发表投票的位置,将其中一个图片地址改为 http://xsst.sinaapp.com/Xjs.swf#.gif, 提交的时候,提示如下:
10. 但是,抓包不难看出,这种验证仅仅是客户端的验证。我们修改请求数据,很容易就成功绕过了。
11. 用抓包工具,查看我们生成的投票。可以看见,确实调用了我们的flash文件。
进一步用以下代码在本地进行模拟 (例如:http://localhost/tieba.htm)。
成功弹窗。
12. 综上,我们在 7 里所说的2个条件,此处均满足,也就意味着,确实存在安全问题。
-------------------- 漏洞利用篇 -------------------------
上面是分析过程,下面为了方便我们对此漏洞的利用,我们对投票过程加以分析。可以得到以下流程。
1. 添加一个投票:POST http://tieba.baidu.com/vote/commit/add_vote?alt=json
2. 获取贴吧tbs: GET http://tieba.baidu.com/dc/common/tbs?t=0.7085538243409246
3. 发表一个投票贴: POST http://tieba.baidu.com/f/commit/vote/add
4. 关联投票与投票贴: POST http://tieba.baidu.com/vote/commit/add_vote_relation?alt=json
基于以上步骤,我拿js写了一个简单的发帖工具:
当然以上过程,修改为自动化的话,就变蠕虫啦,这里我只是给出一个本地点击一下按钮,即可发布一篇带有Xss的投票贴的演示。
-----------------------------------------
效果见漏洞证明!
漏洞证明:
见:http://tieba.baidu.com/p/1665378430 (为了安全考虑,帖子会自动加载我的no.js,但是no.js里的代码已经被我删掉,因而不会有弹窗。)
下面是我截的弹窗图
---------------------------
---------------------------
抓包加载图
---------------------------
---------------------------
调试工具节点图
---------------------------
修复方案:
我想,这个投票只是个投票请求,应该不需要FLASH与js的交互吧,因而将投票的flash的allowscriptaccess参数改为never是最简单的解决办法。
版权声明:转载请注明来源 gainover@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2012-06-19 14:43
厂商回复:
感谢提交,我们会尽快修复
最新状态:
暂无