进入题目看到代码,是关于文件包含的代码,所以我们可以想到伪协议,看到包含了check.php文件,所以可以拿filter伪协议来读取check.php的源代码
filter伪协议:用于读取源码,通过get请求提交参数。它是一种过滤器,可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据,且在读取和写入之前对数据进行一些过滤,例如base64编码处理,rot13处理等。
常用形式:
?a=php://filter/read=convert.base64/resource=xxx.php
?filename=php://filter/convert.iconv.UTF-8*.UCS-4LE*/resource=flag.php
?filename=php://filter/convert.iconv.utf-8.utf-16/resource=flag.php
我们可以先用?filename=php://filter/convert.iconv.utf-8.utf-16/resource=flag.php来读取check.php的源代码
可以把check.php换成flag.php试一试,可以看到flag值