浏览器扩展、插件、控件的跨域安全问题怎样防范

先说说插件的权限吧ie的插件,一般都是activeX,也有BHO的,甚至还有直接Hook Api的,这类插件的安装文件为exe格式,权限为当前用户权限。FF插件格式为xpi,由FF浏览器自行解析安装,权限为浏览器进程权限,很多大黑阔把病毒木马的exe文件直接转化做成xpi插件进行散播的,可见其权限其大。Chrome的插件我不太了解,网上查阅了一下资料发现至少能跨本地域读取本地磁盘的文件。(参考:不可忽视的 Chrome 扩展安全性Chrome新扩展:直接在浏览器中打开Office文档)所以说,第一个问题的答案已经很明确了,即便是设置了httponly的cookie,通过嵌入js方式是不能读取,但是插件可以直接读取磁盘中的Cookie文件啊,既然都有那么大的权限了为何还要纠结于js方式呢。再回答第二个问题,我用firebug(FF下著名的调试插件)修改支付宝的首页,也是可以修改成功的,可见支付宝插件并没有保护页面的完整性,只是密码域使用了插件,如图所示。 【浏览器扩展、插件、控件的跨域安全问题怎样防范】 浏览器扩展、插件、控件的跨域安全问题怎样防范

这就很好理解了,就像你在Flash输入了一段文本,通过javascript却无法获取到这段文本,这对这段文本是一种基本的保护,但是同权限的控件通过键盘记录、读取内存、抓数据包也是有可能获取这段文本,所以进一步的,就需要通过内存加密、键盘保护、通讯加密来保障安全,这只是我的猜测,具体支付宝控件是不是这样做的,还需要逆向牛来解答。我再多回答你一个问题,如果你想让你的网站兼容这种sb插件的话,可以这么做:例如插件是在网页的最末插入js的(在中间插入js也是一个思路,我只是挑最简单的情况举例子):``````\u0026lt;/body\u0026gt;\u0026lt;/html\u0026gt;{流氓插件在这里注入js}修改为:``````\u0026lt;/body\u0026gt;\u0026lt;script\u0026gt;document.documentElement.outerHTML=document.documentElement.outerHTML+"--\u0026gt;";\u0026lt;/script\u0026gt;\u0026lt;/html\u0026gt;\u0026lt;!--{流氓插件在这里注入js}这样一来就把注入的js给注释掉了。不要说我治标不治本,低权限对抗高权限就得这么玩。有什么不对的请各位同行指教。
■网友
如果算上NaCL技术,扩展的最高权限是:可能能分析flash的内部代码和安全控件的内部代码,我说可能是因为我对Nacl技术不了解。不可以操控本地文件。扩展是不可能把所有的操作都列在你面前的,所以,只装足够信任的插件就行了。用无插件的窗口登陆网上银行。


    推荐阅读