低危漏洞: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
方案二 服务器配置(推荐)
具体Apache
、Nginx
等的配置,下面这篇写的很清楚
X-Frame-Options 响应头配置避免点击劫持攻击
补充一下 Windows 下 Apache 的配置。
打开httpd.conf
以后,先确认已经打开 Headers 模块,再在最后空处加上Header always append X-Frame-Options SAMEORIGIN
。
与 Linux 下的配置不同在于,Windows 下打开 Headers 模块更简便,如图。
验证
Firefox —> 网络 —> 查看响应头里是否有X-Frame-Options