文件包含漏洞---php协议
一、原理 1、概念:在php代码中,总会有一些代码我们会经常用到,这时引入了文件包含函数,可以通过文件包含函数把这些代码文件包含进来,直接使用文件中的代码,这样提高了我们的工作效率。 2、文件包含函数: include():如果发生错误,会产生一个警告然后继续执行脚本 include_once():与include()相同,如果文件之前被包含过则不再包含 require():会停止执行代码 require_once():如果文件之前被包含过则不再包含 3、类型:本地文件包含、远程文件包含(url的形式进行) 配置文件参数:allow_url_fopen:为ON时,能读取远程文件, Allow_url_include:为ON时,就可以使用include和require等方式包含远程文件 4、利用方式——伪协议 # file:// 协议用户访问本地文件系统,使用方法:?file:// [文件的绝对路径和文件名] # php://input 可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行 # php://filter 元封装器,读取源代码并以base64编码方式输出 # zip://, bzip2://, zlib:// 属于压缩流