[极客大挑战 2019]Secret File 1
首先查看源代码,找到入口./Archive_room.php
进入Archiv_room.php
, 点击按钮并抓包
可以看到逻辑就是点击按钮服务器指定跳转到end.php
,
返回的内容中有secr3t.php
进入secr3t.php
页面,可见源代码, 有一些过滤,
但是貌似不影响操作
先试试file=flag.php
显然是不行的, flag就在flag.php
中,
但是没有被显示出来我们需要拿到flag.php
的源代码才行
这里采用php伪协议, 实现文件包含, 将源代码文件转换成base64编码显示出来(为什么要用base64编码?因为include引入的文件如果是php文件会被直接执行, 这样就拿不到源码了, 而如果是非php文件就会被显示出来)
构造payload:
1 | file=php://filter/read=convert.base64-encode/resource=flag.php |
再把base64编码的源代码解码就可以拿到flag