PHP实验(一):防止配置/备份文件从Web目录泄露

介绍和背景

开发人员已经在PHP中创建了一个Web应用程序,该应用程序利用应用程序的config文件夹中的配置文件。他还创建了一个备份文件的内部配置文件中的一个配置文件夹,然后忘了删除它。开发人员没有采取任何预防措施来防止此文件夹的目录列表。在本实验中,我们将讨论攻击者如何尝试使用这些轻微错误来访问敏感数据。

让我们开始

该应用程序可从Kali Linux使用以下URL访问。

http://192.168.56.101/webapps/environment/

当从Web浏览器访问时,它看起来像这样。

9.png

我们在网页上没有太多的细节来进一步探索。所以,让我们使用一个名为Nikto的工具从这个路径扫描这个应用程序。

在Kali Linux中打开终端并扫描应用程序,如下面的屏幕截图所示。

如上图所示,Nikto发现了一些有趣的信息(以黄色突出显示)。

Nikto找到一个名为“config”的文件夹,有趣的是,目录索引未被禁用。

让我们在Web浏览器中访问这个配置文件夹。

db.php.old似乎是db.php的备份文件。当从Web浏览器访问db.old.php时,由于扩展名的更改,您的PHP无法解析它。该文件将按如下所示进行下载。

默认情况下,Ice Weasel将下载的文件存储在“ 下载”文件夹中。

所以,让我们使用以下命令查看此文件的内容。

该文件具有数据库连接细节。如果MySQL通过网络暴露给其他机器,攻击者可以远程连接到MySQL服务器并获得未经授权的访问数据。

即使MySQL没有通过网络公开,访问MySQL运行的机器的攻击者仍然可以使用localhost作为服务器名称连接到数据库。

如何避免这种情况?

我们可以对Apache服务器进行配置更改,并避免目录索引。这确保除了您的应用程序以外的用户不能访问指定目录中的文件。

切换到您的Ubuntu服务器,并使用sudo运行以下命令,如下图所示。


添加一个条目,如下图所示。

这确保配置文件夹受到保护。

使用以下命令重新启动apache服务器以进行更改。

服务apache2重启

我们可以通过从Kali Linux再次访问文件夹来交叉验证,如下所示。

我们无法从config文件夹中访问任何文件,但应用程序将运行正常。


本文由站长原创或收集,不代表本站立场,如若转载,请注明出处:https://www.yesck.com/post/php-lab-prevent-exposure-configurationbackup-files-web/

本文 暂无 评论

回复给

欢迎点评

联系我们

站长QQ:8117829

站长邮件:8117829@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code