【问题标题】:Files writable by PHP even though CHMOD is 555?即使 CHMOD 是 555,PHP 也可以写入文件?
【发布时间】:2011-08-17 22:33:52
【问题描述】:

我有一个新服务器,当使用我的 php 脚本时,我能够编写文件并将它们检测为可写,即使 CHMOD 将它们设置为 555 或 755。是否有 apache 模块或 php.ini让这成为可能吗?这是一个安全问题吗?

【问题讨论】:

  • 文件的所有者是谁?
  • 目录是否可写?如果是这样,脚本将被允许完全删除文件,然后重新创建它。
  • 还有,PHP进程是在哪个用户下运行的?
  • 另外,文件组是什么?什么用户/组正在运行 Apache?

标签: php apache chmod


【解决方案1】:

您的服务器/卷使用什么文件系统?

一些文件系统使用不同的权限方案,例如访问控制列表作为 Unix 权限的补充或替代。例如,您可能正在使用使用 ACL 的 AFS 或 OpenAFS(安德鲁文件系统),在这种情况下,您必须输入完全不同的命令来更改访问权限。询问您的网络管理员;他们应该能够回答这个问题。或者你可以尝试运行

df -T

看看它给了你什么。

【讨论】:

  • 它最终成为一个 apache 模块,它强制所有文件都可由 php 写入。谢谢!
【解决方案2】:

您可能想在此处阅读文件权限:

http://www.zzee.com/solutions/unix-permissions.shtml

这应该会给你一个关于发生了什么的线索。

不一定是安全漏洞,文件权限是服务器端的,但如果人们可以上传文件,理论上他们可以通过某种方式让他们自己的代码在您的服务器上运行,从而可能造成伤害......

【讨论】:

  • 那么为什么555 权限 (r-x) 会准确地授予进程写入权限?
  • 原因可能因文件所有者、启动 php 进程的用户、用户所属的组等而异...不太可能但可能的情况是管理员使用 root 帐户启动服务器并以某种方式离开了在该用户下运行的进程......它非常模糊:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-04
  • 2020-09-06
  • 2018-02-17
  • 2021-01-28
  • 2012-03-15
  • 2015-07-17
相关资源
最近更新 更多