打开界面, 点查看源码
明显是一道代码审计题,(具体有多明显我就不多说了
那我们就撇脚地审计一下: 如果我们的 GetIPs 的值是 1.1.1.1 就打印 key, 具体的 GetIPs 函数:
如果 $_SERVER["HTTP_CLIENT_IP"] 非空就让 cip 等于 $_SERVER["HTTP_CLIENT_IP"]
除此之外如果 $_SERVER["HTTP_X_FORWARDED_FOR" 非空就让 cip 等于 $_SERVER["HTTP_X_FORWARDED_FOR"
除此之外如果 $_SERVER["REMOTE_ADDR"] 非空就让 cip 等于 $_SERVER["REMOTE_ADDR"]
如果他们都为空则让 cip 等于 0.0.0.0
返回 cip
意思是入门可以让 $_SERVER["HTTP_CLIENT_IP"] 等于 1.1.1.1 就行了
这里直接使用 bp 抓包然后修改 $_SERVER["HTTP_X_FORWARDED_FOR"] 为 1.1.1.1(百度了一下
$_SERVER["HTTP_CLIENT_IP"] 是获取客户端的 IP, 她存在于 http 请求的 header 中.
这里我们就把 bp 中抓到的传入 repeater 然后加入一句 X-Forwarded-For:1.1.1.1
就可以把我们的 HTTP_X_FORWARDED_FOR 设置成 1.1.1.1 然后传入了
然后 go 一下就可以在右侧得到我们需要的 flag 了
(貌似这个 X_FORWARDED_FOR 经常被拿来注入)
貌似有点难
来源: http://www.bubuko.com/infodetail-3124771.html