介绍和背景
开发人员已经在PHP中创建了一个Web应用程序,该应用程序利用应用程序的config文件夹中的配置文件。他还创建了一个备份文件的内部配置文件中的一个配置文件夹,然后忘了删除它。开发人员没有采取任何预防措施来防止此文件夹的目录列表。在本实验中,我们将讨论攻击者如何尝试使用这些轻微错误来访问敏感数据。
让我们开始
该应用程序可从Kali Linux使用以下URL访问。
http://192.168.56.101/webapps/environment/
当从Web浏览器访问时,它看起来像这样。
我们在网页上没有太多的细节来进一步探索。所以,让我们使用一个名为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文件夹中访问任何文件,但应用程序将运行正常。
本文由站长原创或收集,不代表本站立场,如若转载,请注明出处:http://www.yesck.com/post/php-lab-prevent-exposure-configurationbackup-files-web/
本文 暂无 评论