777 的危险:深入探讨 PHP / Apache 安全
将具有 777 权限的目录或文件保留在目录中的可怕后果PHP/Apache环境已得到广泛认可。虽然常识表明最小化权限至关重要,但值得深入研究这种看似无害的设置所带来的特定漏洞。
尽管存在 PHP 脚本无论其执行权限如何都可以执行的误解,但当以下情况时就会出现严重漏洞: PHP 脚本包含调用 shell 脚本的 system() 调用。凭借 777 权限,通常运行 PHP 脚本的 apache 用户可以执行易受攻击的目录中的任何文件,包括 shell 脚本。
考虑这种恶意场景:不受保护的目录允许用户上传。上传了两个恶意文件:一个 shell 脚本和一个包含对 shell 脚本的 system() 调用的 PHP 文件。当用户通过浏览器访问PHP文件时,shell脚本在服务器上执行。如果此目录设置为 777,则任何人(包括 apache 用户)都可以执行该脚本。
相反,如果该目录及其内容缺少执行位,则 system() 调用仍然无效。决定执行 system() 调用并可能危害系统的能力的是执行位,而不是 PHP 文件的权限。了解这些细微差别对于确保 PHP / Apache 应用程序的安全至关重要。
以上是为什么在 PHP/Apache 环境中授予目录 777 权限会带来安全风险?的详细内容。更多信息请关注PHP中文网其他相关文章!