File Inclusion(文件包含漏洞)学习 / 伪协议

File Inclusion(文件包含漏洞)

在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。

通过文件包含函数将文件包含进来,直接使用包含文件中的代码。

大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。

但有些时候,使用函数包含文件时,被包含的文件就设置为了函数的变量。

通过动态变量来引入需要包含的文件时,用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过,这样就导致了文件包含漏洞。

通常文件包含漏洞出现在PHP语言中。

PHP中的常用文件包含函数:

include()
include_once()
require()
require_once()

include()
代码执行到这个函数时,include() 函数才行使功能,将文件包含进来。
如果发生错误会给出一个警告,继续向下执行。

include_once()
功能和前面的include() 函数是一样的,区别在于当重复调用同一文件时,程序只会调用一次。

require()
与include() 函数的区别在于,当 require() 这个文件包含函数执行错误的时候,函数会输出错误信息,并且整个脚本会停止运行。而 include() 函数会继续向下执行。

require_once()
功能和require() 函数相同,区别在于当重复调用同一文件时,程序只会调用一次。

例如:

&
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Goodric

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

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

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

打赏作者

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

抵扣说明:

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

余额充值