BUUCTF_Web_[ACTF2020新生赛]include
打开靶机,点击tips
可以看到,URL中存在文件包含
首先,可以考虑php://input
伪协议
可以发现,过滤了php://input伪协议
接下来,考虑php://filter
伪协议进行文件包含
当php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
使用php://filter伪协议进行文件包含时,需要加上read=convert.base64-encode来对文件内容进行编码
构造Payload: ?file=php://filter/read=convert.base64-encode/resource=flag.php
发送请求后得到有base64编码后的文件源码
解码得到flag
有base64编码后的文件源码
解码得到flag