PHP文件包含漏洞的形式总结.docx

PHP文件包含漏洞的形式总结 原理 文件包含漏洞的产生原因是在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。 php 中引发文件包含漏洞的通常是以下四个函数: 1、include() 当使用该函数包含文件时,只有代码执行到 include() 函数时才将文件包含进来,发生错误时只给出一个警告,继续向下执行。 2、include_once() 功能和 include() 相同,区别在于当重复调用同一文件时,程序只调用一次。 3、require() 只要程序一执行就会立即调用文件,发生错误的时候会输出错误信息,并且终止脚本的运行 4、require_once() 它的功能与 require() 相同,区别在于当重复调用同一文件时,程序只调用一次。 当使用这四个函数包含一个新文件时,该文件将作为 PHP 代码执行,php 内核并不在意该被包含的文件是什么类型。所以如果被包含的是 txt 文件、图片文件、远程 url、也都将作为 PHP 代码执行。这一特性,在实施攻击时非常有用。 利用条件 (1) include 等函数通过动态执行变量的方式引入需要包含的文件; (2)用户能控制该动态变量。 分类 文件包含漏洞可以分为 RFI (远程文件包含)和 LFI(本地文件包含漏洞)两种。而区分他们最简单的方

文档评论(0)

1亿VIP精品文档

相关文档