第5章 漏洞挖掘与防范
5.1 文件操作漏洞
5.1.1 文件包含漏洞
5.1.1.1 挖掘经验
5.1.1.2 本地文件包含
- 远程文件包含
- 文件包含截断
- Metinfo文件包含漏洞
5.1.2 文件读取(下载)漏洞
5.1.3 文件上传漏洞
- 未过滤或本地过滤
- 黑名单扩展名过滤
- 文件头、content-type验证绕过
- phpcms任意文件上传
5.1.4 文件删除漏洞
5.1.5 文件操作漏洞防范
- 通用文件操作防御
- 文件上传漏洞防御
5.2 代码执行漏洞
5.2.1 挖掘经验
5.2.1.1 代码执行函数
- eval和assert函数
- preg_replace函数
- 调用函数过滤不严
5.2.1.2 动态函数执行
5.3 命令执行漏洞
5.3.1 挖掘经验
5.3.1.1 命令执行函数
- system()
- exec()
- shell_exec()
- passthru()
- pcntl_exec()
- popen()
- proc_open()
- 反引号
5.3.2 漏洞防范
- 命令防注入函数
- 参数白名单