题目
X老师告诉小宁其实xff和referer是可以伪造的。
工具
Burpsuite
火狐浏览器
做题须知
XFF:X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。X-Forwarded-For 请求头格式非常简单,就这样:
X-Forwarded-For :client, proxy1, proxy2
其中 client是用户真实 IP,之后则是每一级代理设备的 IP。
Referer:是 HTTP请求header的一部分,表示一个来源。当浏览器发送请求的时候,header里有包含Referer。比如在www.goole.com里有一个127.0.0.1的链接,那么点击这个127.0.0.1 ,它的header信息里就有:
Referer = http://www.google.com
分析
根据界面给出ip地址必须为123.123.123.123,以及题目的暗示XFF是可以伪造的,我们可以猜测是需要研究该网站header并需要伪造一个XFF且client为123.123.123.123,以及后续可能会对Referer进行增加或修改。
解题过程
抓包并送往repeater
增加XFF
X-Forwarded-For:123.123.123.123
可以看到增加XFF后,点击Go,response显示页面必须来自https://www.google.com,这就是我们提到的Referer,表明网站来自哪里,那就只需要增加一个Referer即可。
增加Referer
Referer:https://www.google.com
增加后发现response中存在Flag