web漏洞-缺少X-Frame-Options标头

漏洞描述

        X-Frame-Options HTTP 响应头, 可以指示浏览器是否应该加载一个 iframe 中的页面。 网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面嵌入从而防止点击劫持。

        属于一种具有迷惑性高、利用难度中等、攻击方式单一的攻击手法。

漏洞危害

        当X-Frame-Options HTTP 响应头丢失的时候,攻击者可以伪造一个页面,该页面使用前端技术精心构造一些诱惑用户点击的按钮、图片,该元素下方就是一个iframe标签,当用户点击后上层的元素后,就相当于点击了iframe标签引入的网页页面。

验证方法

如果目标存在,验证方法如下

1. curl -I http://target

不存在X-Frame-Options响应头(存在漏洞)。

HTTP/1.1 200 OK
Server: nginx/1.12.1 (Ubuntu)
Date: Mon, 16 Apr 2018 07:48:51 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 08 Apr 2018 02:41:44 GMT
Connection: keep-alive
ETag: "5ac98168-264"
Accept-Ranges: bytes

存在X-Frame-Options响应头(不存在漏洞)。

HTTP/1.1 200 OK
Server: nginx/1.12.1 (Ubuntu)
Date: Mon, 16 Apr 2018 07:52:08 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 08 Apr 2018 02:41:44 GMT
Connection: keep-alive
ETag: "5ac98168-264"
X-Frame-Options: SAMEORIGIN
Accept-Ranges: bytes

加固方案

配置WebServer,更改配置文件,添加自定义响应头

使用 X-Frame-Options 有三个可选的值:

  • DENY:浏览器拒绝当前页面加载任何Frame页面

  • SAMEORIGIN:frame页面的地址只能为同源域名下的页面

  • ALLOW-FROM:origin为允许frame加载的页面地址

若网站内有使用iframe标签链接同源资源的,需要设置为SAMEORIGIN

Apache

配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 site 的配置中:

Header always append X-Frame-Options SAMEORIGIN

Nginx

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

add_header X-Frame-Options SAMEORIGIN;

IIS

配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:


  ...
 
  
    
      
    
  
 
  ...

Tomcat

conf/web.xml中添加如下配置:

C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\web.xml


        httpHeaderSecurity
        org.apache.catalina.filters.HttpHeaderSecurityFilter
        
            antiClickJackingOption
            SAMEORIGIN
        
        true
    

        httpHeaderSecurity
        /*
    REQUEST
    FORWARD

你可能感兴趣的:(web漏洞,安全,web安全)