一、文件包含漏洞是什么?
文件包含:程序开发员会将经常用的函数写在单个文件中,之后用到时就可以直接调用该文件,提高代码重用性。
但正是由于这种可调用,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。
常用文件包含函数
include();require();include_once();require_once();
二、利用条件
- 程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件
- 用户能控制该动态变量
三、漏洞分类
- 本地文件包含漏洞
- 上传图片马再包含
- 读敏感文件包含
- 包含日志文件GetShell
- 包含/proc/self/envion文件GetShell
- 包含data:或php://input等伪协议
- 若有phpinfo则可以包含临时文件
2.远程文件包含
可以直接执行任何代码,但要保证php.ini中allow_url_fopen和allow_url_include为On
|