文件包含
LFI
本地文件包含
和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。
什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。
有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。
(用有文件包含代码的文件去访问-GET)
(第一种-读本地的文件;第二种-日志文件-第一步,在url输入我们的一句话木马,日志文件不管执没有执行成功都会记录。
第二步,去访问日志文件的路径。)
以PHP为例,常用的文件包含函数有以下四种
include(),require(),include_once(),require_once()
RFI
如果PHP的配置选项allow_url_include、allow_url_fopen状态为ON的话,则include/require函数是可以加载远程文件的,这种漏洞被称为远程文件包含(RFI)
- file伪协议
- data伪协议
- php://input伪协议

浙公网安备 33010602011771号