Firefox的getter和setter带来的安全隐患


Firefox的getter和setter带来的安全隐患
2011年04月09日
  firefox下的document不能随便用var document来覆盖,本来是一个挺好的权限保护机制,但是它对document的保护也就到此为止了。表面上看起来系统提供的document.domain、document.cookie等接口似乎不允许开发者随便修改,但是实际上呢: 
  document.__defineGetter__(    "cookie", 
  function(){ 
  return this.c;
  } 
  ); 
  document.__defineSetter__(    "cookie", 
  function(sText){ 
  this.c="HACK : "+sText; 
  } 
  );     
  document.__defineGetter__(    "domain", 
  function(){ 
  return this.d;
  } 
  ); 
  document.__defineSetter__(    "domain", 
  function(sText){ 
  this.d="HACK : "+sText; 
  } 
  );     
  document.cookie="fake cookie";
  alert(document.cookie)
  document.domain="fake domain"
  alert(document.domain)
  document实际上已经成了一个傀儡,随便开发者摆弄了。因此我们做基于document.domain和document.cookie的一些对第三方判断时候要小心。 
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/emu/archive/2011/02/27/621072 0.aspx

猜你喜欢

转载自ovn47ovn.iteye.com/blog/1363514