貌似有点难

打开界面,点查看源码

明显是一道代码审计题,(具体有多明显我就不多说了

那我们就撇脚地审计一下:如果我们的GetIPs的值是1.1.1.1就打印key,具体的GetIPs函数:

  1. 如果$_SERVER["HTTP_CLIENT_IP"]非空就让cip等于$_SERVER["HTTP_CLIENT_IP"]
  2. 除此之外如果$_SERVER["HTTP_X_FORWARDED_FOR"非空就让cip等于$_SERVER["HTTP_X_FORWARDED_FOR"
  3. 除此之外如果$_SERVER["REMOTE_ADDR"]非空就让cip等于$_SERVER["REMOTE_ADDR"]
  4. 如果他们都为空则让cip等于0.0.0.0
  5. 返回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经常被拿来注入)

原文地址:https://www.cnblogs.com/wosun/p/11192504.html