文件包含漏洞简介

文件包含漏洞简介

解释:LFI是能够打开并包含本地文件的漏洞;

这里区别一下RFI,远程文件包含漏洞;

意义:文件包含漏洞是"代码注入"的一种,包含即执行,可干的坏事可想而知,看i春秋总结的危害有如下几种:

  1. PHP包含漏洞结合上传漏洞;
  2. PHP包含读文件;
  3. PHP包含写文件;
  4. PHP包含日志文件;
  5. PHP截断包含;
  6. PHP内置伪协议利用。
  7. PHP中文件包含函数有以下四种:

php漏洞函数:

  1. require()
  2. require_once()
  3. include()
  4. include_once()

include和require区别主要是,include在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行;而require函数出现错误的时候,会直接报错并退出程序的执行。
而include_once(),require_once()这两个函数,与前两个的不同之处在于这两个函数只包含一次,适用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。

最简单的漏洞代码:

当使用这4个函数包含一个新的文件时,该文件将作为PHP代码执行,PHP的内核并不会在意被包含的文件是什么类型。即你可以上传一个含shell的txt或jpg文件,包含它会被当作PHP代码执行(图马)。

你可能感兴趣的:(渗透测试)