我们所有人都被告知,将目录或文件留在基于Linux的Web托管上的权限级别777是一件坏事,并且总是根据需要设置尽可能少的权限。
777
我现在好奇的地方 正是 在于剥削的危险,特别是在一个PHP / Apache的环境。
毕竟,无论是否标记为“可执行文件”,都可以从外部执行PHP脚本文件(即,通过调用Web服务器,然后调用解释器),不是吗?同样适用于通过命令行php解释器调用的文件,对吗?
php
那么该漏洞的确切位置在哪里777?是同一台计算机上的其他用户可以访问可写的文件吗?
这是一种情况:
system()
如果此目录为777,则意味着任何人(包括用户apache,即将执行php脚本的人)都可以执行它!如果未在该目录上设置执行位,并且未在该目录内的文件上设置执行位,则上述第3步将无效。
从注释中进行编辑:无关紧要的是PHP文件的权限,它是system()PHP文件中的调用,将由linux用户apache(或您设置为运行的apache的任何东西)作为linux系统调用执行。恰好在执行位很重要的地方。