我有一个朋友有一个用PHP开发的网站,我们可以在上面一个接一个地浏览他的所有文件(当然,我们不能阅读PHP文件的内容)。
你认为这是一个安全漏洞吗?如果是,在什么意义上?
我有一个朋友有一个用PHP开发的网站,我们可以在上面一个接一个地浏览他的所有文件(当然,我们不能阅读PHP文件的内容)。
你认为这是一个安全漏洞吗?如果是,在什么意义上?
您所描述的是正常的目录列表
目录列表本身不是安全问题。如果在弄清楚文件和目录的结构后系统的安全性受到损害,那么您就是通过 obscurity 来依赖安全性,这很糟糕。这种不良做法的例子包括:
但是,作为良好安全策略的一部分,在实施适当的安全措施后,隐藏系统的工作部分是有益的。你展示的系统越少,攻击者可以获取的信息就越少,这意味着你让他们的工作变得更加困难。
“所以我该怎么做?” 你问。简单:在您的 Web 服务器配置中禁用目录列表。在Apache中,你去你的httpd.conf
并找到它说的那一行
Options Includes Indexes
从行中删除Indexes
,然后重新启动您的 apache。
添加到@adnan 和@william-calvin 的答案:
它“可能”是个问题;)
它确实显示了只有经过身份验证的用户才能访问的文件的名称(想想登录用户的“change_settings.php”)。现在这本身不是问题。如果他的网站写得很好,那么他将在加载每个文件之前执行适当的授权检查。从另一个角度来看,一个好的爬虫/蜘蛛会“映射”所有可以访问的文件。
如果他的备份文件很乱(想想:secret.bak 或 blah.php.old),那么其他人将能够读取这些文件。快速phpinfo()和db_dump.sql文件也是如此。
他可能包含文件,并且这些文件具有非 php 扩展名,例如 db.inc,这取决于您的 apache 设置,攻击者可能能够读取这些文件。
因此,正如其他人所解释的那样-这是不好的做法。它提供了更多信息。
是的..这绝对是一个问题。
如果我知道您的结构,我将能够更好地了解您的系统,这使我更容易攻击您的系统。
建议关闭您的目录列表(如果您在 CPanel 上,请参阅本教程)
黑客知道的越少,他们就越需要思考。
是的,关于上述答案,我不想分享相同的信息,而是我的组织发生的真实事件。
我们有一个网络服务器(客户端可以看到他们的互联网帐户信息、充值能力等)。
开发者上传了一个 BigDump 来备份 AAA 服务器数据,同时,攻击者查看目录监听并找到包含所有刮刮卡和帐户信息的转储文件,希望他向我报告,我们解决了这个问题。
如前所述,依靠隐蔽的安全性,最好禁用目录侦听,我为我的组织制定了一项策略,即应在所有 Web 服务器中禁用此功能。