响应头未设置X-Frame-Options

问题:响应头未设置X-Frame-Options

描述:

由于应用未设置响应头X-Frame-Options,易受到点击劫持攻击。点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的、不可见的
iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面
的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上,攻击者常常配合社工手段完成攻击。例如,攻击者通过flash构造出的点击
劫持,可以控制用户电脑的摄像头。随着触屏技术的发展,点击劫持的攻击方式也更进一步,由于手机屏幕范围有限,手机浏览器为了节省空间
把地址栏隐藏起来,因此在手机上的视觉欺骗更容易实施。

漏洞解决方案:

  1. 通过javascript代码来禁止iframe的嵌套,即frame busting方法。
  2. 通过设置响应头X-Frame-Options来限制iframe的加载,DENY:拒绝
    浏览器加载任何frame页面,SAMEORIGIN:frame页面地址只能是同源域名下的页面, ALLOW-FROM:可自定义允许frame加载页面地址。
  3. 此外,有的浏览器厂商也增加扩展功能来防御clickjacking,如firefox的”content security policy"和"No-script"

具体操作

nginx:
配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 ‘http’, ‘server’ 或者 ‘location’ 的配置中:

## 表示该页面可以在相同域名页面的 frame 中展示
add_header X-Frame-Options SAMEORIGIN;
## 表示该页面可以在指定来源的 frame 中展示
#add_header X-Frame-Options "ALLOW-FROM  http://domain.com";

参考文章:
https://blog.csdn.net/qq_25934401/article/details/81384876

上一篇:OushuDB 创建和管理模式(上)


下一篇:opencv调用摄像头实现功能