知识专栏
多方位、多角度、深度解读您所关心的问题

漏洞报告:

检测到目标网站Referrer-Policy响应头缺失。

漏洞描述:

Web 服务器对于 HTTP 请求的响应头中缺少 Referrer-Policy,这将导致浏览器提供的安全特性失效。

当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也成为了一个不安全的因素,所以就有了 Referrer-Policy,用于过滤 Referrer 报头内容,其可选的项有: no-referrer、no-referrer-when-downgrade、origin、origin-when-cross-origin、same-origin、strict-origin、strict-origin-when-cross-origin、unsafe-url。

漏洞危害:

Web 服务器对于 HTTP 请求的响应头中缺少 Referrer-Policy,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。

解决办法:

(1)修改服务端程序,给 HTTP 响应头加上 Referrer-Policy

【a】如果是 java 服务端,可以使用如下方式添加 HTTP 响应头:

response.setHeader("Referrer-Policy", "value")

【b】如果是 php 服务端,可以使用如下方式添加 HTTP 响应头:

header("Referrer-Policy: value")

【c】如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头:

Response.AddHeader "Referrer-Policy", "value"

【d】如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头:

response = HttpResponse() response["Referrer-Policy"] = "value"

【e】如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头:

response = make_response() response.headers["Referrer-Policy"] = "value"; 

(2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 Referrer-Policy

【a】如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头:

add_header Referrer-Policy value;

【b】如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头:

Header add Referrer-Policy "value"。

实际操作如下:

(1)如果是iis环境,在网站根目录新建web.config配置文件,并在文件中加入以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <!--检测到目标Referrer-Policy响应头缺失-->
                <add name="Referrer-Policy" value="origin-when-cross-origin" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

(2)如果是Apache环境,在网站根目录新建.htaccess配置文件,并在文件中加入以下代码:

<IfModule mod_headers.c>
  Header set Referrer-Policy origin-when-cross-origin
</IfModule>

如果在.htaccess中有其他伪静态规则,在放在伪静态规则前面即可,如下所示:

<IfModule mod_headers.c>
  Header set Referrer-Policy origin-when-cross-origin
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3
RewriteRule ^category-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2
</IfModule>


赞一下
--
踩一脚
--

您已成功复制微信号

leishi010

打开微信添加好友?

确定