低危漏洞:X-Frame-Options Header未配置

漏洞描述

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>,<iframe> 或者 <object>中展现的标记。未配置X-Frame-Options的网站,可能有被点击劫持的风险(内容被嵌到别人的网站中去,并在上面加一个透明层,诱导用户点击)

X-Frame-Options可选的参数值有三种:

  • DENY
  • SAMEORIGIN
  • ALLOW-FROM <uri>

解决方案

方案一 代码

Java:response.addHeader("x-frame-options","SAMEORIGIN");
PHP:header('X-Frame-Options:Deny');
可以在单个页面上添加,也可通过过滤器 Filter

方案二 服务器配置(推荐)

具体ApacheNginx等的配置,下面这篇写的很清楚
X-Frame-Options 响应头配置避免点击劫持攻击

补充一下 Windows 下 Apache 的配置。
打开httpd.conf以后,先确认已经打开 Headers 模块,再在最后空处加上Header always append X-Frame-Options SAMEORIGIN
与 Linux 下的配置不同在于,Windows 下打开 Headers 模块更简便,如图。
低危漏洞:X-Frame-Options Header未配置

验证

Firefox —> 网络 —> 查看响应头里是否有X-Frame-Options