[极客大挑战 2019]Secret File 1
打开以后:
老规矩,直接看源码:
看到第27行 有个提示文件
直接访问:
点一下secret
让我回去仔细看看:
回去再看一遍源码
还是没有提示
可能是页面跳转太快
那就抓个包看看:
既然是跳转快,那就重新发送有个
然后看看它的回应包:
这个回应包里面有一个提示文件
那就直接访问一下试试:
有一个备注:flag放在flag.php里面
那就访问这个flag.php
它说看不到它
那就看看源代码
也没有
那应该是它不可以读这个文件
那这题可能是考察php伪协议读取本地文件
用php伪协议来读取flag.php
查一下伪协议的原理:

“php://filter 读取输出,不然会直接当做php代码执行就看不到源代码内容了。”
题目提示看不到,那就一个是这个
看着源码,试一下构造:
file关键字的get参数传递
php://是一种协议名称
php://filter/是一种访问本地文件的协议,
/read=convert.base64-encode/表示读取的方式是base64编码后,
resource=flag.php表示目标文件为flag.php
结合一下:
?file=php://filter/convert.base64-encode/resource=flag.php
base64解码:
到这里就可以去交flag了
本文介绍了参加极客大挑战2019时遇到的一道题目,涉及通过源码分析、HTTP抓包及PHP伪协议来解密隐藏的flag.php文件。在尝试直接访问和查看源码无效后,通过php://filter协议以base64编码方式读取本地文件,最终解码获取到flag。

被折叠的 条评论
为什么被折叠?



