企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
[TOC] ## 什么是文件包含 就是把多个文件 用各种方法 包含在一个文件里 ## 什么是文件包含漏洞 开发人员开启了allow_url_include,黑客可以配合文件上传包含有php代码的任何文件,通过文件包含漏洞从而去运行恶意文件 ## 文件包含漏洞条件 * 外部可控 * 要有条件 (allow_url_include) ## 防御方法 * 设置白名单 * 过滤危险字符 * 关闭危险配置 * 限制文件包含的路径,比如只能包含某个目录内的 * 严格判断包含中的的参数是否外部可控,尽量不要使用动态包含 ## PHP文件包含类型 1. 可以包含本地文件 相对路径的写法 ``` file=b.php ``` 绝对路径的写法 ``` file:///D:/install/IT/PhpStudy20180211/PHPTutorial/WWW/1_students/202111/20211224/b.php ``` 2 可以包含 远程文件(必须服务器开启了 远程包含的功能) PHP的配置文件:php.ini ``` allow_url_include=On ``` 远程包含的写法 ``` http://localhost/1_students/202111/20211224/b.php ```