DVWA系列之14 文件包含漏洞分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程一般被称为包含。程序开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
美团服务器漏单
魔域怎么用数据库注册账号
2021年江苏省网络安全协会
无线路由器软件开发工资高吗
又宁网络技术怎么样
长沙软件开发专科学校哪个好
曙光服务器默认管理密码
四川电信软件开发待遇
oa服务器什么牌子好
电脑屏幕录像软件开发
数据库用圆柱体表示
龙汇网络技术有限公司
庆余年官服服务器
count 去重复数据库
江苏省社保服务器虚拟主机
古诗翻译软件开发
数据库字符串拼接通用
戴尔服务器温度过高一直响
软件开发合同纠纷答辩状
莆田戴尔服务器质量材质上乘
nhca网络技术
苹果ipad登录账号服务器出错
如何学习网络安全战略
上海环境监测软件开发方案
如何查看电脑服务器主机名
考研有网络安全专业的院校
云服务器100m
原神服务器选择官服
大数据库中央空调
数据库统计成绩表中的记录总数