HTTP请求头中Referer的作用与伪造

发布于 2019-10-22 17:47:29   阅读量 307  点赞 0  

一、Referer

Referer是HTTP请求header中的一部分,其表示请求当前资源的客户端来源,当浏览器(或模拟浏览器行为)向web服务器发送请求的时候,头部信息里会携带Referer

 例如:在 www.google.com 里有一个 www.baidu.com 超链接,当点击这个链接跳转到baidu的时候,浏览器向google发出的请求信息里就有:Referer=http://www.google.com

Referer的正确拼写是referrfer,由于早期的HTTP规范的拼写错误,于是决定将错就错。


1.作用

  • 防盗链: 比如只允许某台服务器访问我自己的图片服务器资源,则可校验Http请求包中的Referer判断一下是不是特定服务器的域名,若不是,则拒接响应。  
  • 防止恶意请求: 对于某些风险较高的文件类型,可使用Referer使得该类型文件只能来自我所指定的网站。


2.空Refer

Referer头部的内容为空的情况:

  • 浏览器内直接输入URL
  • Windows桌面的超链接图标
  • 浏览器内书签
  • 第三方软件内容中的链接跳入



二、Referer的伪造

1.伪造为ip地址

  1. 使用Firefox的X-Forwarded-For Header 插件更改ip地址
  2. 使用brup拦截请求包,在Proxy里面发送到Repeater,将Http头中的X-Forwarded-For改为想改的ip


2.伪造为URL

  通过brup拦截,再使用Reapter修改Referer为想指定的URL



Last Modified : 2020-07-18 11:59:44