文件包含漏洞:通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意外的文件泄漏甚至恶意代码注入。
这一题用到php伪协议的方式
这一题用到php://filter语句
php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,让其不执行。从而导致 任意文件读取。
①?file=php://filter/resource=xxx.php
直接读取xxx.php文件,但大多数时候很多信息无法直接显示在浏览器页面上,所以需要采取②中方法将文件内容进行base64编码后显示在浏览器上,再自行解码。
②?file=php://filter/read=convert.base64-encode/resource=index.php
Base64解码得到flag
//参考资料:CTF中文件包含漏洞总结https://blog.csdn.net/qq_42181428/article/details/87090539?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.contr
更多php://filter的用法:
//再遇到类似题的时候看