前言
文件包含在 CTF 比赛也是常考的一个点,这里对一些包含点的原理、特征进行一些总结,并结合实际的例子来讲解如何绕过。
php伪协议的分类
伪协议是文件包含的基础,理解伪协议的的原理才能更好的利用文件包含漏洞。
php://input
php://input代表可以访问请求的原始数据,简单来说POST请求的情况下,php://input可以获取到post的数据。
使用条件:include()、include_once()、file_get_contents()
比较特殊的一点,enctype=”multipart/form-data” 的时候 php://input 是无效的。
用法举例
使用 file_get_contents 函数的伪协议包含有个经典的例子:
可以使用fputs文件输入流直接服务器某一存在的目录下写入文件
php://output
php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式 写入到输出缓冲区。
php://filter(重点)
php://f