- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
黑客(或其他人)是否有可能将 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.log
、error.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/
我尝试对所有子目录中的每个 HTML 文件进行 chmod 444,但是当我尝试此命令时,所有文件和文件夹都更改为 444: chmod -R 444 /home/ppp/ *.html 我只想 ch
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我的目标是阻止除所有者之外的其他用户的修改/读取权限。 On ubuntu forums作为解决方案,给出了两种方法。 sudo useradd -d /home/newuser -m newuser
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 a specific programming problem, a software a
我正在学习 Linux 和权限。 我有以下文件夹 dir1/dir2/dir3 和 dir3 中的文件 myfile.txt。我正在尝试将 chmod 700 权限授予 dir1 和 dir2 文件夹
当我运行 chmod 777/home 时,我第一次遇到这个错误。我失去了重新连接到服务器的方法。关闭服务器后,我尝试启动一个新实例,但仍然无法连接到它。 最佳答案 这可能取决于您更新用户的权限 .s
试图在 Windows 中安装 pycrypto。在命令提示符下,我键入 python setup.py build。一切正常,但是当它进入“运行 build_configure”时,我收到此错误消息
我有一个需要更改内容的文件,该文件具有以下权限: -rw-r--r-- 如何找出我属于哪个权限组,以便执行 chmod 命令? 我刚刚尝试执行 chmod,但出现错误: $ chmod 777 h
我知道777提供了更多的写权限,但是当您使用777而不是755时,访问您网站的人可以更改您的文件吗? 有时我的文件拥有755的权限就足够了,但是有时我却是777,那不好吗? 人们不推荐它,但是为什么呢
我正在尝试在 C 程序中使用 chmod 函数更改文件权限 chmod("/tmp/toBoard", S_IRWXU | S_IRWXG | S_IRWXO); 但在程序运行后我检查权限并只获得 -
我知道 chmod -R u=rwX,g=rwX,o=r 将设置目录、子目录和文件,但要注意: The capital X permission option tells chmod to grant
一个不会工作的问题。 我有一个 XHR 文件上传到一个目录。用户在执行 php 代码的站点上按下一个按钮。在该代码上,我放置了函数 chmod($file_name, 0777); .不要介意安全问题
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我的服务器上有一个文件夹,我已将其权限更改为 777(读取、写入和执行全部)以允许用户上传他们的图片。 所以我想知道,这其中涉及哪些安全风险? 我已经实现了代码来限制可以上传哪些文件格式,但是如果有人
我有一个关于权限的问题。我相信这 3 个标记代表所有者群体。所以我认为任何将查看我的页面的用户都将是 chmod 命令中的第 3 个标记。但是,当我将文件设置为 700 时,它应该是所有者 - 全部/
我有一个目录,其中有多个目录,每个目录包含多个图像文件。 我想将所有子目录以及其中的图像文件的文件权限更改为 755。 我正在使用 WinSCP 连接到服务器。那么如何一次性更改文件权限,因为文件很多
我想更改用户文件的 chmod 值。但它不起作用。我的代码是; $chmod = "0777"; chmod($filename, $chmod); 我正在输入 chmod 777。但是文件的 chm
我试图从我的 C 程序中调用 chmod() 函数,但是它没有设置正确的权限,除非 mode_t 参数有其中有前导零。例如 chmod(argv[2],00777) 会起作用,但是 chmod(arg
我想更改用户文件的 chmod 值。但它不起作用。我的代码是; $chmod = "0777"; chmod($filename, $chmod); 我正在输入 chmod 777。但是文件的 chm
我正面临一个烦人的问题。这很令人沮丧。我正在学校使用计算机来学习 Coursera Startup 类(class)。我正在尝试连接到 Amazon EC2 实例。我下载了 key 对。我检查权限。
我是一名优秀的程序员,十分优秀!