实验吧web之貌似有点难
flag值:SimCTF{daima_shengji}
解题步骤:
1.打开题目页面,观察题目要求
![](https://i-blog.csdnimg.cn/blog_migrate/5101604396c0efd6a40004fec6ad82b3.png)
2.说是让观察题目,点开解题链接,进入查看内容
![](https://i-blog.csdnimg.cn/blog_migrate/a96e594e1a49d9352f5c48a987e15380.png)
3.观察题目,提示是PHP代码审计,下面写着错误,你的IP不在允许列表之内,还有个Vlew the source code的选项,点进去浏览PHP代码行
![](https://i-blog.csdnimg.cn/blog_migrate/3987726e60d6e38e67b4f2948d94214d.png)
4.代码上半部分没什么问题,看下半部分,if($GetIPs=="1.1.1.1"),通过这个代码及以下代码判断,分析如下,如果我们想得到flag值,那么IPs=“1.1.1.1”,但是代码中写到了错误,你的IP不在访问列表之内,从而判断IP并不是1.1.1.1,如果我们能想办法把IP强制修改为1.1.1.1的话,或许能得到结果,在这里选择用Burp工具进行抓包修改
![](https://i-blog.csdnimg.cn/blog_migrate/9cff994e08454a8b3e34e791417478ef.png)
5.进入到Burp抓包界面,发现并没有什么奇怪的地方,于是放入Repeater进行进一步的观察
![](https://i-blog.csdnimg.cn/blog_migrate/efaf3d69a13604c7d913ff694306c7ec.png)
6.经过观察左侧和右侧并没有什么突破,然而我们前面说到如果想要得到flag值,就要强行修改IP地址,于是在左侧随意位置输入:X-Forwarded-For:1.1.1.1,再次点击GO看右侧返回信息
备注:X-Forwarded-For是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段
![](https://i-blog.csdnimg.cn/blog_migrate/701a7fc16f6a8aa95b3306ba5c6dc548.png)
7.发现右侧回显有一行代码特别像flag值,于是选择复制提交
![](https://i-blog.csdnimg.cn/blog_migrate/4799efbf5f312545cc6bc0d5f8431930.png)
8.提交成功,解题完成
![](https://i-blog.csdnimg.cn/blog_migrate/9f09589d903b089a9ed71721b229fa49.png)