gpt4 book ai didi

php - 人们可以将 .php 文件写入我的 chmod 777 文件夹吗

转载 作者:IT王子 更新时间:2023-10-29 00:20:55 24 4
gpt4 key购买 nike

黑客(或其他人)是否有可能将 php 文件上传/写入我网站上具有 chmod 777 的文件夹?

例子:

我有一个包含 chmod 777 的文件夹。该文件夹包含图像。我使用 .htaccess 来阻止索引文件夹。

改革后的问题:人们可以通过在他们的网站上使用 PHP 脚本将 .php 文件写入我的具有 chmod 777 的文件夹吗?例如,列出该文件夹中的所有图像

(我熟悉用于上传文件夹等的正确 chmod ..,只是假设性地问)

最佳答案

很有可能该机器的任何合法用户都可以将 .php 文件或他们想要的任何其他内容写入该开放目录。 777 目录在共享主机上几乎没有位置。 (/tmp 有时可能是 1777,以在目录上设置粘滞位——这只允许文件 owner 删除目录中的文件目录。通常,777 意味着任何人都可以从目录中删除任何文件。但是 /tmp 在共享主机环境中肯定会失宠,因为它本质上是不安全的。)

所以:你是机器上唯一的用户吗?或者这台机器是否与其他人共享?这台机器除了网络服务器之外是否运行任何其他服务?如果是这样,那些其他服务也可能代表可能的攻击媒介。

此外,如果您的目录权限设置为 777 我想知道您正在运行的 PHP 文件有多安全 -- 我见过很多人运行不安全的 PHP 脚本的情况允许攻击者修改整个 Web 服务器上的每个 HTML 文件,以感染浏览该站点的人。 (是的。很多。比很多多。)

这就是为什么无论您的网络服务器运行哪个用户帐户都不应该拥有网站的任何文件——静态页面和动态页面。 Web 服务器应该只有足够的写入权限来写入其 access.logerror.log 并与数据库服务器通信。任何additional privileges beyond this使您的一个脚本中原本良性的错误很容易变成可利用的漏洞,从而使您的站点被用来攻击他人。

777 是个坏主意。解决这个问题。确保您的 Web 服务器没有对任何 Web 内容的写入权限。确保服务器上没有其他服务对您的 Web 内容具有写入权限。确保服务器上没有其他用户对您的 Web 内容具有写入权限。

更新

这比听起来容易。创建一个新的 webcontent 用户。如果您的 Web 服务器已经有自己的组,让我们使用它并将其命名为 webgroup。如果还没有,请同时创建一个新的 webgroup。 (adduser(8)addgroup(8) 如果您的 VPS 没有自己的机制。)然后为您的所有 Web 内容设置所有者:

chown -R webcontent:webgroup /path/to/web/content

修复权限:

find /path/to/web/content -type d -print0 | xargs -0 chmod 750
find /path/to/web/content -type f -print0 | xargs -0 chmod 640

然后确保您的网络服务器正在使用 Group webgroup指令以确保它仍然可以读取它需要的所有文件。

这将使您的网络服务器可以读取访问您的所有脚本和配置,但如果网络服务器本身被黑,它就无法修改任何内容。

关于php - 人们可以将 .php 文件写入我的 chmod 777 文件夹吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com