文章目录
前言
文件包含:
文件包含是指为了提高开发效率,将不同功能写入到单独文件中,在需要使用该功能时,将相应的文件导入即可。
常见的文件包含函数:
- require:找不到被包含的文件,报错,并且停止运行脚本。
include:找不到被包含的文件,只会报错,但会继续运行脚本。
require_once:与require类似,区别在于当重复调用同一文件时,程序只调用一次。
include_once:与include类似,区别在于当重复调用同一文件时,程序只调用一次。
文件包含漏洞:
之所以会形成该漏洞,是由于开发人员在设计导入文件时,未对导入的文件做严格检查,导致用户自行指定导入的文件,尤其是指定一些恶意文件,对服务器造成破坏,这就是文件包含漏洞。
防御:
由于文件包含漏洞时由于在导入文件时,没有做细致过滤,因此,防御该攻击的方法,还是应该从服务器入手,对导入的文件做认真检查过滤,防止用户注入恶意文件。
一、Low
1、演示
打开DVWA文件包含靶场页面,发现URL包含了index.php,分别点击三个文件,URL中的page则分别为相应的文件
在桌面创建一个 1.txt 文件,内容为 查看php信息的php语句:
<?php phpinfo(); ?>
利用访问本地文件的 File 协议,将page的值改为 1.txt 的绝对路径:
file://C:\users\13714\Desktop\1.txt
回车发现已经成功访问并解析该