全球390k网站中带有.git目录 造成敏感数据泄露 上传服务器文件时要注意哪些问题

研究人员在扫描网站中,结果显示了数十万个可能暴露敏感数据的网站,如数据库密码,API密钥等。扫描全球超过2.3亿个网络域名已经发现了390,000个带有开放.git目录的网页 – 这是一种可以暴露一系列敏感信息的令人担忧的事态。研究人员还编写了一个脚本来收集/.git/logs/HEAD文件中的电子邮件联系人,他最终得到了90,000个不重复的电子邮件列表。

研究人员从.git中获取90000个电子邮件

研究员首先在他的家乡捷克共和国开始扫描,然后扩展到全球视野。使用18个虚拟服务器和4个物理服务器以及用于抓取网站代码的自定义脚本,为期四周的扫描显示,一系列网站

问题是缺乏适当的配置。许多Web开发人员使用开源开发Git工具来构建他们的页面; 虽然他们不应该将项目的标准.git信息库文件夹留在其网站的公共可访问部分,但这种情况经常发生。更糟糕的是,他们经常无意中允许重要信息驻留在那里,Smitka解释说。

“这是一个令人讨厌的问题,因为它可以获取当前和过去的文件,其中包含有关网站结构的大量信息,有时你可以获得非常敏感的数据,如数据库密码,API密钥,开发IDE设置等, 这些数据不应该存储在存储库中,但是……我发现很多开发人员都没有遵循这些规范”

在某些情况下,查询将提供对目录结构的访问,这将允许更容易地下载存储库中的信息 – 并且可能意味着它甚至被Google索引。

“ Git存储库具有众所周知的结构,因此您只需下载单个文件并解析对存储库中各个对象/包的引用,然后你可以通过直接请求下载它们。随时可用的GitTools包将允许一个攻击者利用它。

研究人员补充说,这个问题很容易被忽视,因为简单的配置检查可能会产生误导。

“你可以通过尝试打开<web-site> / .git / HEAD轻松验证这些规则 – 如果设置正确,它应该不起作用,如果你只是直接访问<web-site> / .git /,你会在大多数情况下收到HTTP 403错误。好像访问被拒绝了,但这只是一种虚假的安全感。实际上,403错误是由缺少的index.html或index.php和禁用的自动索引功能引起的…… [和]仍然可以访问这些文件。“

研究人员还编写了一个脚本来收集/.git/logs/HEAD文件中的电子邮件联系人,并能够检索290,000封有效的电子邮件。在重复数据删除(一些电子邮件与数千个网站相关联)并排除服务器本身的“机器”地址后,他最终得到了90,000个不重复的电子邮件列表。然后,他开始了手动通过电子邮件发送联系人的繁重任务。“

我准备了登陆页面smitka.me,其中包含详细信息和缓解措施”

研究人员表示,大约有18,000封电子邮件未送达,而且有些电子邮件被归类为垃圾邮件。仍然,“在发送电子邮件后,我与受影响的各方交换了大约300条消息,以澄清问题。我收到了近2000封感谢邮件,30封误报,两封骗子/垃圾邮件发送者指控,还有一封威胁要打电话给加拿大警方。“

 

受影响网站中很少更新到最新版

为了更清楚地了解受影响的范围,研究人员还检查了网站上使用的技术。

大多数受影响的页面都使用PHP编程语言,尽管Python开发人员在数据按语言市场份额标准化时起带头作用。同时,就受影响网站上使用的Web服务器和操作系统而言,Ubuntu是他所说的领先Linux发行版; CentOS排在第三位。Tengine(Nginx的中国分支)也很有代表性。

此外,在大多数网站上都可以找到WooCommerce WP插件,以及CodeIgniter应用程序框架。和WordPress的内容管理系统(CMS),受影响的网站背后的主导方面,他补充说。

“只有大约12%的WordPress网站使用最新的小版本和最新的安全补丁,这是因为当WordPress找到.git(或其他VCS)目录时,它会禁用自动核心更新。它与Drupal和Joomla的工作方式相同 – 这些网站中的大部分都是旧版本。“

 

安全编码需要开发人员认真对待

研究人员说,他计划定期检查网络上开放的.git存储库的状态 – 希望随着时间的推移他发现越来越少的存储库。

“我想向大家建议你要更仔细地观看你上传到你网站的内容 – 不仅仅是系统版本,还有各种临时测试脚本,”

安全编码实践是一个必须更加认真对待的领域。在今天的共享应用程序编码世界和不断增长的物联网领域,如果我们不把安全放在我们努力的最前沿,那么我们只能期望看到更多相同的东西。安全可视性在当今的混合企业中至关重要。

发表评论