文件包含漏洞
简介
文件包含
程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无需再次编写,这种调用文件的过程一般被称为文件包含。
漏洞的形成原因
随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用
但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞。
文件包含漏洞
大多数Web语言都可以使用文件包含操作,其中PHP语言提供的文件包含功能强大而灵活,所以包含漏洞经常出现在PHP文件中。其他语言页可能出现包含漏洞
PHP包含
- require():可以包含文件,如果包含错了,直接报错并退出程序的执行
- include():在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行
- require_once():与require类似,区别在于当重复调用同一文件时,程序只调用一次
- include_once():与include类似,区别在于当重复调用同一文件时,程序只调用一次
文件包含漏洞分类
本地文件包含
远程文件包含
文件包含漏洞的危害
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。