什么叫文件包含漏洞? 原理剖析

 

outputo-20210605-174311-651-lvwx.png

文件包含漏洞(File Inclusion)的成因,这种漏洞的成因很特殊,它是来源于服务器在执行 PHP 文件时的一种特殊功能,在执行一个文件的时候,可以加载并执行其他文件的PHP代码。这个功能是通过函数实现的,PHP中一共包含了4个可以实现文件包含的函数:

· include()

· require()

· include_once()

· require_once()

早餐后,我开始刷攻守世界的问题。我连简单的文件中包含的问题都做不到。我出了买入的本,从头开始学。总结文件中包含的漏洞!

首先,文件有漏洞。

文件包括漏洞。

文件中包含函数的参数未经过滤或严格定义,参数可由用户控制,可能包含意外文件。如果文件中存在恶意代码,无论文件类型如何,都会对文件中的恶意代码进行分析和执行。

文件中的漏洞可能会导致服务器网页被篡改,网站被悬挂,服务器被远程控制,后门被安装。

常见的文件包括函数:

1.include()包含配方文件并运行。错误时生成警告(E_WARNING),基本继续运行。

2.include_once()在脚本执行过程中包开发文件并执行。与include的区别:检查是否已收录,如收录则不收录。

3.require()包含指定文件并运行。如果出现错误,Require将多次生成e_complex_error,脚本将停止运行。

4.require_once()与require基本相同,也有差异:检查是否包括在内,如包括在内则不包括在内。

漏洞代码实例:

在上述代码中,$_get[filename]参数没有经过严格筛选,直接导入include()函数。攻击者可以修改$_get[filename]的值,加载其他文件,实施意外操作,文件中包含漏洞

我们可以通过添加目前目录的文件1.txt来阅读1.txt的内容。

二、无限当地文件含漏洞

无限当地文件包含漏洞。

无限当地文件包含漏洞,就是没有特定的前缀或扩展名称,比如。php和。因此,攻击者可以利用文件包含漏洞,阅读操作系统中的其他文件,获取敏感信息,或执行其他文件中的代码。

常见的敏感信息路径、有限的本地文件中包含漏洞意味着特定的前缀和扩展名称。php和。html设置在代码中包含文件,攻击者必须绕过前缀或扩展名称过滤,使用文件包含脆弱性读取操作系统中的其他文件,获敏感信息。有三种常见的方法可以绕过受限本地文件包含的筛选:00截取文件包含、路径长度截取文件包含和点截取文件包含。

分享: