点击劫持漏洞(低危)

1406人浏览 / 0人评论

今日发现网站出现低危漏洞,点击劫持。也就是网页页面被其他站的FRAME嵌套进去。

 这时候就需要的HTTP协议头里增加X-Frame-Options这一项。

下面是嵌套代码。

<html>
<frameset cols="50%,50%">
  <frame src="http://xxx.xxxxxx.cn/m_index.html">
  <frame src="http://yyy.xxxxxx.cn/m_index.html">
</frameset>
</html>

解决:

server设置 X-Frame-Options

在nginx的配置文件中server层加入:

 

add_header X-Frame-Options SAMEORIGIN;

 

 X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

X-Frame-Options 有三个值:

DENY

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN

表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri

表示该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

全部评论