PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP在检查和处理文件访问路径时存在漏洞,本地攻击者可能利用此漏洞非授权访问文件。 PHP的open_basedir功能可以禁止脚本访问所配置的基础目录以外的文件。这个检查是在处理文件的PHP函数在实际的打开调用发生之前执行的。在检查和实际打开调用之间有一个时间差,而攻击者可以利用这个时间差更改所检查的路径,指向open_basedir限制所禁止访问的文件。 尽管很难利用这个时间差更改路径,但攻击者可以使用symlink()函数来发动攻击。PHP的symlink()函数要保证符号链接操作的来源和目标都是open_basedir和safe_mode限制所允许的,但攻击者可以使用mkdir()、unlink()及至少两个符号链接将链接指向任意文件。
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP在检查和处理文件访问路径时存在漏洞,本地攻击者可能利用此漏洞非授权访问文件。 PHP的open_basedir功能可以禁止脚本访问所配置的基础目录以外的文件。这个检查是在处理文件的PHP函数在实际的打开调用发生之前执行的。在检查和实际打开调用之间有一个时间差,而攻击者可以利用这个时间差更改所检查的路径,指向open_basedir限制所禁止访问的文件。 尽管很难利用这个时间差更改路径,但攻击者可以使用symlink()函数来发动攻击。PHP的symlink()函数要保证符号链接操作的来源和目标都是open_basedir和safe_mode限制所允许的,但攻击者可以使用mkdir()、unlink()及至少两个符号链接将链接指向任意文件。