DVWA系列之14 文件包含漏洞分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程一般被称为包含。程序开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为
千家信息网最后更新 2026年10月31日DVWA系列之14 文件包含漏洞分析
程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程一般被称为包含。程序开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。
PHP中提供了四个文件包含的函数,分别是include()、include_once()、require()和require_once(),它们的区别如下:
require找不到被包含的文件时会产生致命错误,并停止脚本运行。
include找不到被包含的文件时只会产生警告,脚本将继续运行。
include_once与include类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
require_once与require类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
比如我们看下面这个例子,01.txt是一个正常的文本文件,但文件内容却是符合PHP语法的代码:

在02.php文件中包含01.txt,代码如下:

将这两个文件都放到D:\AppServ\www目录,然后在浏览器中访问02.php,可以看到01.txt中的代码被正确执行了。接下来将02.txt文件的扩展名分别改为jpg、rar、doc、xxx进行测试,发现都可以正确显示phpinfo信息。由此可知,只要文件内容符合PHP语法规范,那么任何扩展名都可以被PHP解析。
我们再创建一个测试文件03.txt,文件内容是"Hello,world!",并不符合PHP语法规范,可以发现这种文件可以直接显示其内容。
文件
代码
被包
内容
再次
函数
语法
人员
常会
程序
程序开发
脚本
开发
测试
运行
漏洞
接下来
由此可知
两个
例子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技资迅
金融科技创新监管互联网金融
北京互联网科技有限公司
互联网科技小贷
鑫亿盛互联网科技
天津摩尔互联网科技
亿账通互联网科技
互联网金融监管科技
互联网科技中介
江阴互联网智能科技产品进口
乌苏新华互联网科技做什么的
明优互联网科技有限公司
厦门江牛科技互联网
互联网科技数字货币
云南互联网科技学费
科技互联网经济论坛
杭州融税互联网科技有限公司
互联网科技大佬云集
伍佰万互联网科技是干嘛的
六子台科技互联网展会
上海睿民互联网科技有限公司
深圳互联网科技公司
成都互联网科技公司
上海万想互联网科技
山东吉时兔互联网科技有限公司
博兴的互联网电子科技公司
科技互联网的估值
图游互联网科技
信承诺互联网科技有限公司
互联网高科技绘画