文件包含漏洞
文件包含漏洞产生的原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。几乎所有的脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP WebApplication中居多,而在JSP、ASP、ASP.NET程序中却非常少,这是有些语言设计的弊端。在PHP中经常出现文件包含漏洞,但并不意味着其他语言不存在。
文件包含函数
include():找不到被包含文件时会产生警告(E_WARNING);
include_once():与include ()类似,代码已经被包含则不会再次包含require():找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR)
require_once(): 与require ()类似,代码已经被包含则不会再次包含
利用条件
(1 ) include等函数通过动态执行变量的方式引入需要包含的文件
(2)用户能控制该动态变量
远程文件包含漏洞演示
..\phpstudy\Extensions\php\php7.3.4nts\php.ini