一、Referer是什么?

Referer是一个HTTP请求头中的常见字段,提供访问来源的信息

现实生活中,购买服务或加入会员的时候,往往要求提供信息:”你从哪里知道了我们?
这叫做引荐人(referrer),谁引荐了你?对于公司来说,这是很有用的信息。互联网也是一样,你不会无缘无故访问一个网页,总是有人告诉你,可以去那里看看。服务器也想知道,你的”引荐人”是谁?
于是就在HTTP请求头中设置了一个Referer字段,给出了”引荐网址/网页”的URL。当前有些单位为了安全考虑会根据referer来判断提供不提供服务,只要不是从登录接口过来的一律不接受。

Referer作用

  • 统计网站请求来源
  • 防盗链

    二、Referer注入

    在sqli-labs less-19中或者在ctfhub的web专项都可以练习Referer注入,步骤与常规SQL注入完全一致,就是注入的位置是Referer

为什么referer设置为127.0.0.1

为什么有时候要把referer设置为127.0.0.1呢?
答案是因为把来源IP设置为回环IP有可能会让服务器误以为这是从自己内部传过来的请求,从而可能会对我们显示一些只有内部请求才能看到的内容。

三、注入过程

手工

注意闭合语句即可
‘and extractvalue(1,concat(0x7e,(select database()),0x7e)) and ‘

sqlmap

将Referer处添加一个星号【*】让sqlmap重点扫描即可。