PHP 文件可浏览:这是一个漏洞吗?

信息安全 php 网络服务器
2021-09-07 17:54:22

我有一个朋友有一个用PHP开发的网站,我们可以在上面一个接一个地浏览他的所有文件(当然,我们不能阅读PHP文件的内容)。

你认为这是一个安全漏洞吗?如果是,在什么意义上?

4个回答

您所描述的是正常的目录列表

在此处输入图像描述

目录列表本身不是安全问题。如果在弄清楚文件和目录的结构后系统的安全性受到损害,那么您就是通过 obscurity 来依赖安全性,这很糟糕。这种不良做法的例子包括:

  • 使用秘密目录名称访问敏感文件。
  • 将执行特权函数限制为仅访问其 URL,而不是使用适当的权限。
  • 为开发商留下特殊的门/后门。

但是,作为良好安全策略的一部分,在实施适当的安全措施后,隐藏系统的工作部分是有益的。你展示的系统越少,攻击者可以获取的信息就越少,这意味着你让他们的工作变得更加困难。

“所以我该怎么做?” 你问。简单:在您的 Web 服务器配置中禁用目录列表。在Apache中,你去你的httpd.conf并找到它说的那一行

Options Includes Indexes

从行中删除Indexes,然后重新启动您的 apache。

添加到@adnan 和@william-calvin 的答案:

它“可能”是个问题;)

  1. 它确实显示了只有经过身份验证的用户才能访问的文件的名称(想想登录用户的“change_settings.php”)。现在这本身不是问题。如果他的网站写得很好,那么他将在加载每个文件之前执行适当的授权检查。从另一个角度来看,一个好的爬虫/蜘蛛会“映射”所有可以访问的文件。

  2. 如果他的备份文件很乱(想想:secret.bak 或 blah.php.old),那么其他人将能够读取这些文件。快速phpinfo()db_dump.sql文件也是如此。

  3. 他可能包含文件,并且这些文件具有非 php 扩展名,例如 db.inc,这取决于您的 apache 设置,攻击者可能能够读取这些文件。

因此,正如其他人所解释的那样-这是不好的做法。它提供了更多信息。

是的..这绝对是一个问题。

如果我知道您的结构,我将能够更好地了解您的系统,这使我更容易攻击您的系统。

建议关闭您的目录列表(如果您在 CPanel 上,请参阅本教程)

黑客知道的越少,他们就越需要思考。

是的,关于上述答案,我不想分享相同的信息,而是我的组织发生的真实事件。

我们有一个网络服务器(客户端可以看到他们的互联网帐户信息、充值能力等)。

开发者上传了一个 BigDump 来备份 AAA 服务器数据,同时,攻击者查看目录监听并找到包含所有刮刮卡和帐户信息的转储文件,希望他向我报告,我们解决了这个问题。

如前所述,依靠隐蔽的安全性,最好禁用目录侦听,我为我的组织制定了一项策略,即应在所有 Web 服务器中禁用此功能。