专业黑客先做事后付款3(靠谱的黑客看过来)

专业黑客先做事后付款3(靠谱的黑客看过来)以下所有的内容全部经过我在IE7中测试,是真实有效的结果。 Iframe的限制: 因为iframe这个玩意比较特殊,所以浏览器对它一般都有一些限制。 首先父窗口不能控制子窗口的js,只能读取一些对象;子窗口也不能使用父窗口的js,也只能读部分对象,更多的比如document啥的都限制了。 关系如下: - iframe

以下所有的内容全部经过我在IE7中测试,是真实有效的结果。 

Iframe的限制: 
因为iframe这个玩意比较特殊,所以浏览器对它一般都有一些限制。 

首先父窗口不能控制子窗口的js,只能读取一些对象;子窗口也不能使用父窗口的js,也只能读部分对象,更多的比如document啥的都限制了。 

关系如下: 

- iframe's should not be able to view content/cookies from another domain 
- iframe children CAN view certain properties and execute certain behaviors 
- parent.window.blur 
- parent.window.opener 
- parent.window.length 
- others 
- iframe children CAN redirect the parent frame to a new location (great for phishing) 
- parent.location.href 
- parent.window.location 
对于有些利用子窗口执行父窗口js的方法是限制的 
比如,在子窗口里可以这么使用: 
parent.location.href="http://www.sohu.com"; 

上面的语句将把父窗口重新定义到sohu的网站去. 

但是如果想执行js,或者是读取document对象,则会被拒绝访问 
parent.location.href=new String("javascript:alert(document.cookie)"); 
parent.location.href=new String("javascript:alert(1)"); 

像这两条都会被拒绝。 

对于iframe,Firefox3 居然是不限制本地cookie发送的!也就是说,在Firefox环境里,使用iframe包含一个远程页面,是会将保存在本地的cookie发送出去的,这使得CSRF会非常之方便。 

但是IE不同,对于IE环境中,img和iframe标签都只能发送session cookie,无法发送本地cookie,所以很多时候CSRF会失败,这也会给XSS带来很大的麻烦,比如会使得XSRF更困难一些。 

鉴于Firefox一点挑战都没有,所以今天主要研究的对象是IE。 

在IE环境下,程序员们一般都是使用P3P协议来获取跨域cookie的,但是P3P也要求我们改写HTTP头,更麻烦,在这里,我纯粹使用一些脚本的技巧来突破这些限制。 

突破IFRAME限制的思路:(以下都是在IE环境中) 
由于页面里的iframe都是发送的session cookie,所以子框架页面里本身是只有一个session cookie的,我们无法通过在子框架里执行js的方法来获取本地cookie,无中生有的事情是干不出来的。 

了解这一原理后,思路就很明确了:想办法新起一个不受限制的窗口,从而获取本地cookie。 

具体来说,有这么两个办法: 
1、 使用window.open打开一个新窗口 
2、 回到父窗口,让其打开一个新窗口 

在子框架中,使用window.open()确实可以发送本地cookie,但是问题是浏览器一般会限制页面弹窗口,会被拦截,所以这个方法比较囧~~,不是个好办法。 

而第二个办法,回到父窗口去打开新窗口,就涉及到一个突破iframe执行脚本的问题,而这个问题在我的前一篇Cross Iframe Trick 里已经解决了,所以我们的方法就呼之欲出了。 

利用Cross Iframe Trick突破iframe限制获取子框架cookie: 

  • 发表于 2021-02-20 10:30
  • 阅读 ( 162 )
  • 分类:互联网

0 条评论

请先 登录 后评论
黜❤嘿
黜❤嘿

713 篇文章

你可能感兴趣的文章

相关问题