我正在运行一个云服务器(Ubuntu 10.04),它托管 3 个站点。因为我不必担心共享主机和同一台机器上的其他用户。使用 chmod 777 文件夹以便 apache 可以写入它真的有很大风险吗?我试图避免使用具有不同权限的一堆文件夹。
答案1
如果您允许 apache 将文件写入文件夹并执行,那么恶意用户可能会上传文件并可能诱骗 apache 执行该文件。
因此,如果我有一个具有 777 权限的文件夹 /var/www/mysite/httpdocs/uploads,那么有人就可以上传文件然后执行它。
我们将其称为 hack.php
<?php
echo system('ls -l /');
?>
通过访问 www.mysite.com/upload/hack.php,如果 apache 具有读取权限,他们将获得您的 / 文件夹的目录列表。
这是一个相当简单的例子,可以做得更邪恶。您不想同时拥有文件夹的写入和执行权限。
仅仅因为您没有明确的上传表单并不意味着黑客无法找到漏洞来诱骗 Apache 上传他们的代码。通过阻止 Apache 对文件夹具有写访问权限,Linux 将阻止文件上传,即使网站存在允许上传的漏洞。