zl程序教程

您现在的位置是:首页 >  其它

当前栏目

X-Frame-Options报头缺失

缺失 Options Frame
2023-06-13 09:15:05 时间

点击挟持

点击劫持(用户界面纠正攻击、用户界面纠正攻击、用户界面纠正攻击)是一种恶意技术,它诱使Web用户点击与用户所点击内容不同的内容,从而可能在点击看似无害的网页时泄露机密信息或控制其计算机。 服务器没有返回x-frame-options头,这意味着该网站可能面临点击劫持攻击的风险。x-frame-options HTTP响应头可用于指示是否允许浏览器呈现框架或iframe中的页面。网站可以通过确保其内容不嵌入其他网站来避免点击劫持攻击

修复方案如下:

修改web服务器配置,添加X-frame-options响应头。赋值有如下三种:

(1)DENY:不能被嵌入到任何iframe或frame中。

(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。

(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

一般我们选择使用 SAMEORIGIN : response.setHeader(“X-Frame-Options”, “SAMEORIGIN”);即可解决该安全问题。

下面是两个测试: 百度的响应头包含X-Frame-Options,如下:

测试代码:

  <iframe style="width:200px;height:200px;" src="https://www.baidu.com">
  </iframe>

效果:

可以看到百度无法被嵌入到我们网站中,控制台有报错如下:

再换到CSDN测一下,截止到我测试的时间,CSDN是没有设置这个头的,测试代码如下:

  <iframe style="width:200px;height:200px;" src="https://www.csdn.net/">
  </iframe>

结果是CSDN可以被成功潜入进来。效果如下:

Q.E.D.