php本地文件包含漏洞,php文件包含漏洞利用小结

漏洞概述:

文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式。

产生原因:

在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入

利用条件:

1、用户能够控制这个动态变量

2、include()等函数通过动态变量的方式引入需要包含的文件

在PHP中,产生文件包含漏洞的几个函数:

include():

只有代码执行到此函数时才将文件包含进来,发生错误时只警告并继续执行。

require():

只要程序执行,立即调用此函数包含文件,发生错误时,会输出错误信息并立即终止程序。

include_once():

功能include()一样,区别在于当重复调用同一文件时,程序只调用一次。

require_once():

功能require()一样,区别在于当重复调用同一文件时,程序只调用一次。

文件包含功能要实现,需要在PHP的配置文件php.ini中开启allow_url_include;如果是远程文件包含,则除此之外还需要开启allow_url_fopen。

漏洞危害:

读取敏感文件

获取webshell

任意命令执行

在某些情况下,根据LFI漏洞的性质&#

你可能感兴趣的:(php本地文件包含漏洞)