Q:什么是文件包含?
A:简单一句话,为了更好地使用代码的重用性
,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码。
Q:文件包含漏洞的成因是什么?
A:在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来引入需要包含的文件时用户可以对变量的值可控而服务器端未对
变量值进行合理地校验
或者校验被绕过
,这样就导致了文件包含漏洞。通常文件包含漏洞出现在PHP语言中。
<?php
$file = $_GET['file']
include($file);
// ......
文件包含函数
Include
Include_once
require
require_once
highlight_file、show_source、 readfile、file_get_contents、 fopen、file
文件包含漏洞分类
本地文件包含
远程文件包含
◆ allow_url_fopen:为ON时,能读取远程文件,例如file_get_contents()就能读远程文件
◆ allow_url_include:为ON时,就可使用 include和require等方式包含远程文件