码迷,mamicode.com
首页 > 其他好文 > 详细

貌似有点难

时间:2019-07-16 09:12:26      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:打开   代码   打印   _for   inf   remote   family   lib   mamicode   

打开界面,点查看源码

技术图片

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

那我们就撇脚地审计一下:如果我们的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经常被拿来注入)

 

貌似有点难

标签:打开   代码   打印   _for   inf   remote   family   lib   mamicode   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!