题目描述:X老师告诉小宁其实xff和referer是可以伪造的。
先稍微了解一下xff是啥子:
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP头字段。
简单来说,xff就是发送方最原始的IP地址,而题目提示了xff和referer都可以伪造。
而修改xff有两种方法:
1.火狐下载X-Forwarded-For插件,进行IP地址的修改
2.bp抓包后修改IP地址
先说火狐下载插件修改:火狐进入更多工具->面向开发人员的扩展->搜索 X-Forwarded-For->下载启用
在ip地址中输入页面提示的ip地址:123.123.123.123:
如果用bp抓包,则右键选中"发送给Reapter",在重发器Raw处手动添加
X-Forwarded-For:123.123.123.123
添加后点击发送(go) :
可以发现,不管是网页修改还是bp抓包,都出现了下一步提示:
必须来自https://www.google.com
这时候就要知道referer是个啥子了 :
Referer是HTTP请求header的一部分,当浏览器(或者模拟浏览器行为)向
web
服务器发送请求的时候,头信息里有包含 Referer。
简单来说,Referer就是表述当前页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。我们可以f12在源代码页面查看到xff和referer,比如下图这样的
同样,Referer同样可以伪造,提示给出 源页面必须是http://www.google.com,那么在bp中和添加xff的方式一样,我们在重发器的Raw下输入:
Referer:http://www.google.com
点击发送,就可以拿到flag: