Walks

网络安全爱好者

ClickJacking简介和防御

前言:

最近看到一篇关于Clickjacking的某些浏览器不支持特性而产生的漏洞,故查查资料,记录下这些。

重点在于Clickjacking的三种防御手段、

 

目录:

0x01:什么是点击劫持(ClickJacking)

0x02:如何防御

 

什么是点击劫持(Clickjacking)

    一种视觉欺骗手段,通过frame框架包含目标网站。诱使受害者点击页面,造成一些敏感操作,例如转账,泄露个人信息等,而这时,受害者并不知道自己进行了这些操作。《ClickJacking简介和防御》

    例如上图,具体代码为

<iframe src="http://www.bywalks.com" sandbox="allow-forms"></iframe>

    我们可以修改下透明度,并在iframe框架之上加一些图片或者一些按钮操作,来诱使用户进行一些操作。

          

    

    如何防御

  •  JS代码

if(top.location!=self.locaton) {
  parent.location = self.location;
}

    这种防御手段并不严谨,可以用double iframe绕过。

 

  • X-Frame-Options

    该HTTP头配置有三种选项,分别为Deny,SameOrigin,Allow_From. 

    分别解释一下,Deny拒绝该页面被所有其他页面所包含,SameOrigin为可被同源网页所包含,Allow_From为可被白名单设置网站所包含。 

    其中Allow_From并不被所有浏览器都支持。浏览器支持如下。

《ClickJacking简介和防御》 

  • CSP安全策略

    CSP安全策略是一种基于减少攻击行为的一种方法。通过具体配置来减少漏洞的发生。

    在Clickjacking的防御中,CSP的frame-ancestors也起到了作用,但跟ALLOW_FROM一样,并不是所有的浏览器都支持这个特性。

    

    个人总结

    JS与CSP的防御都是有所限制,所以最好的方法就是设置HTTP头的X-Frame-Options为Deny或者SameOrigin。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注