网站文件包含漏洞的修复方案


outputo-20210605-174055-876-uzxp.png

文件包含是什么?

程序员通常将可重用函数写成单独的文件,当需要使用某个函数时,可以直接调用该文件。不需要再写了,这个文件调用的过程通常称为文件包含。

例子:包括conn.php

文件函数通常包含在PHP中。

包括()

当使用该函数包含文件时,只有当include()函数执行代码时,才会包含文件,当出现错误时会发出警告,执行将继续。

include_once()

功能和Include()一样,不同之处在于当重复调用相同的文件时,程序只调用一次。

要求()

require()和include()的区别在于,如果在执行require()时出现错误,函数会输出错误信息,并终止脚本。

require_once()

功能与require()相同,不同的是,当重复调用相同文件时,程序只调用一次。

区别。

包含:包含的文件不存在,程序将继续执行。

要求:不存在文件,程序停止执行。

(如果有语法错误,两者将无法继续执行。如未找到此文件,include将继续执行,请求,停止执行)

文件包含漏洞原理。

文件中存在漏洞的原因是用户在导入文件时可以控制引用的文件名,因为导入的文件名没有得到合理的验证或绕过验证。

普通漏洞代码

if(isset($_GET[page]){

包含$_GET[page];

}else{

包含home.PHP;

}}}

一个。

二、二。

3。

4。

5。

这个文件包含漏洞的危害。

匹配文件上传漏洞。

您可以执行任何脚本代码。

网站源文件和配置文件泄露。

远程包含GetShell。

控制整个网站甚至服务器。

文件包含漏洞分类。

当包含的文件位于服务器本地时,形成的本地文件包含漏洞。

本地文件包含的原因与远程文件包含的漏洞相同。如果php.ini中的配置选项是allow_url_fopen和allow_url_include为on,则包含的文件可能是第三方服务器中的文件,从而形成远程文件中的漏洞。

本地文件包括利用率。

上载图片马,包括图片马GetShell。

阅读网站源代码和配置文件。

GetShell有日志文件。

分享: