题解
主要考查了利用php://filter伪协议进行文件包含
进入题目根据Tip进入正题,可以看到URL中存在文件包含(题目名也很直接)
首先考虑 "php://input"伪协议
发现题目过滤了php://input 伪协议
重新考虑之后使用 “php://filter"伪协议” 来进行包含。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
构造Payload: ?file=php://filter/read=convert.base64-encode/resource=flag.php
这里需要注意的是使用php://filter伪协议进行文件包含时,需要加上read=convert.base64-encode来对文件内容进行编码
发送请求得到base64编码后的flag.php文件源码:
解码之,得到Flag
<?php
echo "Can you find out the flag?";
//flag{2517de34-c8be-4227-a6f0-7664b27484d3}
参考文章:
https://www.cnblogs.com/yesec/p/12379909.html