貌似有点难
Posted wosun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了貌似有点难相关的知识,希望对你有一定的参考价值。
打开界面,点查看源码
明显是一道代码审计题,(具体有多明显我就不多说了
那我们就撇脚地审计一下:如果我们的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经常被拿来注入)
以上是关于貌似有点难的主要内容,如果未能解决你的问题,请参考以下文章
Luogu P4305 [JLOI2011]排序(貌似有点离散化)不重复数字