14.1 文件包含漏洞
(1)当文件中包含include()、require()、include_once()、require_once()函数时,将该文件当作PHP代码执行,PHP内核并不会在意被包含的文件是什么类型
(2)能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞
(3)PHP内核是由C语言实现的。
(4)目录遍历漏洞是一种跨越目录读取文件的方法
(5)可以加载远程文件的漏洞称为远程文件包含漏洞。

14.2 变量覆盖漏洞
(1)PHP中使用变量并不需要初始化。
(2)当用户能够控制变量来源时,会造成一些安全隐患,严重的将会引起XSS、SQL注入等攻击,或者是代码执行。
(3)在代码审计时要注意“$$K”的变量赋值方式

14.3 代码执行漏洞
(1)PHP代码执行的两个条件:用户能够控制函数输入;存在可以执行代码的危险函数。
(2)挖掘漏洞的过程,通常需要先找到危险函数,然后回溯函数的调用过程,最终看在整个调用过程中用户是否有可能控制输入。

14.4 制定安全的PHP环境
(1)除了熟悉的PHP漏洞外,还可以通过配置php.ini来加固运行环境。