原理:服务器解析执行php文件时能够通过包含函数加载另外一个文件中的php代码,当被包含的文件中存在木马时,也就意味着木马程序会在服务器上加载执行。
防御:
①严格判断包含中的参数是否外部可控,因为文件包含漏洞利用成功与否的关键点就在于被包含的文件是否可被外部控制;
②路径限制:限制被包含的文件只能在某一文件内,一定要禁止目录跳转字符,如:“../”;
③包含文件验证:验证被包含的文件是否是白名单中的一员;
④尽量不要使用动态包含,可以在需要包含的页面固定写好,如:include('head.php')。
本地文件包含漏洞涉及的函数有哪些?
include:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。