文件包含漏洞(LFI、RFI)(require()、include()函数)

本文深入讲解文件包含漏洞的分类及原理,介绍PHP中文件包含函数的使用方法,并提供测试LFI漏洞的方法。同时,通过实战案例展示如何利用文件包含漏洞获取敏感信息。

一、文件包含漏洞分类

LFI(Local File Inclusion)
本地文件包含漏洞,指的是能打开并包含本地文件的漏洞。大部分情况下遇到的文件包含漏洞都是LFI。
为了方便本文把LFI直接称为文件包含漏洞。

RFI(Remote File Inclusion)
远程文件包含漏洞。是指能够包含远程服务器上的文件并执行。由于远程服务器的文件是我们可控的,因此漏洞一旦存在危害性会很大。但RFI的利用条件较为苛刻,需要php.ini中进行配置

allow_url_fopen = On
allow_url_include = On

两个配置选项均需要为On,才能远程包含文件成功。
在php.ini中,allow_url_fopen默认一直是On,而allow_url_include从php5.2之后就默认为Off。

二、文件包含漏洞原理

本地文件包含(Local File Inclusion)漏洞,是程序员在网站设计中,为方便自己在设计构架时,使用了一些包含的函数,在文件中包含一个文件。

服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。

这意味着可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,只更新一个包含文件就可以了,或者当向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。

LFI 产生的原因是由于程序员未对用户可控变量进行输入检查,此漏洞的影响可能导致泄露服务器上的敏感文件等。
如若攻击者能够通过其他方式在Web服务器上放置代码,那么他们便可以执行任意命令

 Directory traversal attack is also called a Local File Inclusion or LFI.

翻译:目录遍历攻击也称为本地文件包含攻击LFI

三、文件包含函数

PHP中文件包含函数有以下四种:


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

通信与商务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值