码迷,mamicode.com
首页 > 其他好文 > 详细

点击劫持(ClickJacking)漏洞挖掘及实战案例全汇总

时间:2020-05-22 00:18:02      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:判断   用户信息   http   实战   通过   content   嵌套   部分   浏览器   

1、漏洞理解

点击劫持(Click Jacking)是一种视觉上的欺骗手段,攻击者通过使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,通过调整iframe页面的位置,可以使得伪造的页面恰好和iframe里受害页面里一些功能重合(按钮),以达到窃取用户信息或者劫持用户操作的目的。

Clickjacking是仅此于XSS和CSRF的前端漏洞,因为需要诱使用户交互,攻击成本高,所以不被重视,但危害不容小觑,攻击效果见案例。

2、漏洞原理

  对于漏洞的防范大部分浏览器支持的防御办法是使用X-Frame-Options头,通常设置为DENY可以很好地防范漏洞,其次SAMEORIGIN可以在某个页面失守时被绕过,ALLOW-FROM uri不被Chrome支持。其次还有CSP头:Content-Security-Policy: frame-ancestors ‘self‘仅支持FireFox。

   也就是说,如果发现系统没有设置上述头,大概率存在ClickJacking漏洞,测试方法很简单,本地构造一个HTML文件,使用iframe包含此页面:

技术图片

 

 

若返回拒绝请求,则不存在问题,控制台提示已设置X-Frame头故引用网站失败:

 技术图片

 

技术图片

3、漏洞防御

  主要有三种防御办法:

1)X-Frame-Options,建议设置为DENY;

2)Content-Security-Policy:frame-ancestors ‘self‘或‘none’,不适用于Safari和IE;

3)js层面:使用iframe的sandbox属性,判断当前页面是否被其他页面嵌套。

  当前最推荐的方案是1和3结合防御,深入了解可以阅读原文,下载斯坦福大学对此漏洞的研究论文。

 

点击劫持(ClickJacking)漏洞挖掘及实战案例全汇总

标签:判断   用户信息   http   实战   通过   content   嵌套   部分   浏览器   

原文地址:https://www.cnblogs.com/nul1/p/12934056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!