Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1181019
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-27 11:15:09

在我blog上搜Clickjacking还能搜到frame busting的东西,呵呵

frame busting是指利用js判断location以防止网页被别人iframe内嵌的一个实现:

if ( top.location != location )
top.location = self.location;

如果还不明白的请wikipedia一下。

我记得以前百度首页还有这个的,本来还想测下绕过百度的实现,结果今天一看,发现百度不知道什么时候撤销了。

20号有老外发布了篇paper,论述了各种framebusting的实现和绕过技巧:



这是黑哥非常崇拜的那个stanford的安全实验室出品,必属精品啊。

从技术创新上来说,只能给3.5 - 4分,但是作者认真的态度和全面的资料搜集,是这篇paper的亮点。

小结:
几种攻击方法:
1. 二次frame(不能针对 top.location,只能针对 parent.location)
2. 利用 onbeforeunload 事件
3. xss
4. 构造referer绕过js referer检查
5. 浏览器漏洞(茄子曾经指出的那个IE7直接改location的bug)
6. iframe security属性(仅IE支持)
7. iframe sandbox属性(HTML5)
8. 浏览器designmode
9. 部分手机站点

推荐的防御方法:
1. X-Frame-Options (我记得我blog过这个header)
2. CSP(mozilla的项目,搜我blog)
3. 用hidden 元素的方法,有点山寨,不过有用且通用


最后,需要提醒的是:clickjacking远远不止iframe一个页面,还有很多类似效果的实现,比如所有链接的劫持(通过XSS),比如XSIO(图片覆盖,搜我blog),比如flash的clickjacking,所以,不要以为整了framebusting就万事大吉了,呵呵。
阅读(2481) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~