gpt4 book ai didi

php - 在 PHP/Apache/Linux 环境中,为什么 chmod 777 是危险的?

转载 作者:IT老高 更新时间:2023-10-28 12:36:32 26 4
gpt4 key购买 nike

this question 中讨论的启发.

我们都被告知,将目录或文件保留在具有 777 权限级别的基于 Linux 的 Web 主机上是一件坏事,并且始终设置尽可能少的权限。

我现在很好奇究竟在哪里存在被利用的危险,特别是在 PHP/Apache 上下文中。

毕竟,无论是否标记为“可执行”,PHP 脚本文件都可以从外部执行(即通过调用 Web 服务器,然后调用解释器),不是吗?这同样适用于通过命令行 php 解释器调用的文件,对吧?

那么 777 的漏洞究竟在哪里?是不是同一台机器上的其他用户可以访问全世界可写的文件?

最佳答案

这是一个场景:

  1. 您有一个用户可以上传到的不 protected 目录。
  2. 他们上传两个文件:一个 shell 脚本,一个 php 文件,其中包含对 shell 脚本的 system() 调用。
  3. 他们通过访问浏览器中的 url 来访问刚刚上传的 php 脚本,从而导致 shell 脚本执行。

如果这个目录是777,这意味着任何人(包括用户apache,这是php脚本将执行的)都可以执行它!如果没有在该目录上设置执行位,并且可能是目录中的文件,那么上面的步骤 3 将不会执行任何操作。

从评论中编辑:重要的不是 PHP 文件的权限,而是 PHP 文件中的 system() 调用将由 linux 用户 apache(或无论您将 apache 设置为如何运行),这正是执行位重要的地方。

关于php - 在 PHP/Apache/Linux 环境中,为什么 chmod 777 是危险的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338641/

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