1. 题目描述
题目链接:戳我💋
类型:请求头绕过
知识点:http请求头(Referer、X-Forwarded-For、User-Agent)
2. 解题过程
单从网页看是发现不了什么隐藏内容的,通过F12打开控制台直接搜索关键字"php"发现一个超链接文件"Secret.php",因为"onclick=return flase"所以从网页中直接点击是无法跳转的

手动访问"Secret.php“页面后提示”It doesn't come from",目标应该是做了来路判断,通过$_SERVER['HTTP_REFERER']内置服务变量获取名为Referer的http请求头,即要想访Secret.php页面必须从https://Sycsecret.buuoj.cn进行点击访问,但由于请求头数据是不可控的所以我们可以手动修改Referer请求头字段,具体操作如下
打开BP代理,访问Secret.php页面通过快捷键Ctrl+R将请求发送到Repeater中

手动添加http请求头Referer内容为"https://Sycsecret.buuoj.cn"即可绕过
- Referer:https://Sycsecret.buuoj.cn

接着网页又提示请使用syclover浏览器访问,这种绕过一般都是修改User-Agent请求头, User-Agent请求头存放的是用户的浏览器信息,在使用浏览器请求一个网页时在会自动添加User-Agent请求头,所以在User-Agent请求头字段添加关键字Syclover即可绕过


但是目标又提示只允许本地访问此网页,很明显目标对请求头的IP地址进行了判断,因为直接通过TCP协议去伪造IP比较复杂无法保证连接成功,所以通过应用层HTTP去伪造,这时就可以通过修改http请求头来进行伪造IP,在查阅资料中得知X-Forwarded-For请求头用于http协议获取客户端来源IP地址,并且输入可控,只需要将X-Forwarded-For请求头字段添加内容"127.0.0.1"即可绕过ip检测拿到flag!

3. 所需工具
- Burpsuite
4. 写在最后
本文完
敬爱与明天🌹