文件包含漏洞
文件包含漏洞
简介
文件包含
程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无需再次编写,这种调用文件的过程一般被称为文件包含。
漏洞的形成原因
随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用
但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞。
文件包含漏洞
大多数Web语言都可以使用文件包含操作,其中PHP语言提供的文件包含功能强大而灵活,所以包含漏洞经常出现在PHP文件中。其他语言页可能出现包含漏洞
PHP包含
PHP提供了四个文件包含的函数
- require():可以包含文件,如果包含错了,直接报错并退出程序的执行
- include():在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行
- require_once():与require类似,区别在于当重复调用同一文件时,程序只调用一次
- include_once():与include类似,区别在于当重复调用同一文件时,程序只调用一次
文件包含漏洞分类
本地文件包含
远程文件包含
文件包含漏洞的危害
-
读取敏感文件
-
获取Webshell
-
配合文件上传漏洞
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!