来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 今天我神奇的发现,现阶段基于webkit内核的浏览器(Chrome、Safari等),通过document.domain,可以将domain设置到最后一级(最后一个点之后的内容)。举例说明:www.qgy18.com可以设置domain为...
今天我神奇的发现,现阶段基于webkit内核的浏览器(Chrome、Safari等),通过document.domain,可以将domain设置到最后一级(最后一个点之后的内容)。举例说明:
这能干嘛呢?显然,只要两个域名有同样的domain,就可以轻易的跨域通讯了。那么在webkit下,只要两个域名后缀一样,例如都为com或者都为空,通过这种方式可以轻松跨域了。 我把这个问题发在QWrap群里讨论,有人说这是Webkit内核的一个feature,用来方便开发者实现跨大域。我认为这是bug,因为,虽说很少有人会把自己的网站domain设置为com,但是对于黑客来说,他如果在你网站做这件事情,那你的网站跟他的站点就成一家人了,这种行为也不容易被发现。 对于Firefox、IE和Opera,都有域名后缀黑名单,在黑名单里的字符串,是不可以当document.domain的。例如com.cn,com,gov.cn等等。所以不会有这么神奇的事情,当然www.gov.cn也会比较悲剧,因为它的domain也不能设置为gov.cn。 DEMO:http://o.qgy18.com/tt.html (使用webkit内核访问) update @ 2012-03-03:Sogili同学指出,这个问题已经有人提交给chromium,但他们不认为这是安全漏洞,解释是:
我个人觉得,即使这不是bug,至少也是一个可以改进的点,有能力的同学不妨去fix下~ |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com