zl程序教程

您现在的位置是:首页 >  其它

当前栏目

CVE-2021–45043发现之旅

之旅 发现 2021 CVE
2023-06-13 09:11:51 时间

0x01

嘿,黑客和猎人,

今天将是一篇关于我的新 [CVE-2021–45043] 的不同文章,它已在(HD-Network 实时监控系统 2.0)中发现,这个 CVE 是一个本地文件包含漏洞,它让我被允许通过错误配置读取服务器中的敏感内部文件,这将在本文后面解释。

起因

首先我选择了一个产品来开始我的安全研究之旅,所以我决定从(HD-Network Real-time Monitoring System 2.0)产品开始。然后我想搜索/收集一些使用这个系统的主机,所以我开始在一些目标上做一些指纹。我发现两个指纹应该允许我过滤我的结果,以便只给我与这个系统工作的主机。

发现过程

  1. 与该产品一起使用的所有产品的标题是:

0x02

  1. 此外,当您浏览应用程序时,您会看到您查看了应用程序源代码,您会发现一个 JavaScript 文件名:setCookie.js所以在查看此脚本后,我看到有一段代码引起我的注意,即:

0x03

  1. 如您所见,这是一个注释代码,但它让我理解了这个 Web 应用程序的逻辑,现在您可以看到这里的开发人员使用一个函数来获取s_language包含首选用户语言的 cookie 值,然后最终生成内容基于这个cookie值的语言,所以我尝试继续搜索可能对我有用的另一个JavaScript文件,例如我在一个名为common.js 以下代码的文件中找到:

0x04

  1. 现在我想更深入一点,我想知道服务器与哪个端点进行交互以获得用户的语言偏好,所以我打开了 burp-suite 蜘蛛并在 Web 应用程序中启动蜘蛛,直到我得到一个有吸引力的端点是:/language/lang一旦你打开它,你会发现以下内容:

0x05

  1. 它定义了在应用程序翻译过程和其他应用程序功能中使用的所有变量,所以我应用程序已经设置了一个名为的 cookie 参数:s_Language。并且 JavaScript 处理这个参数值以便为应用程序提供首选语言给用户,现在端点/language/lang似乎是真正定义翻译过程如何在应用程序中进行的端点,所以我为什么不手动添加修改 cookie:s_Language,然后尝试一些路径遍历并查看应用程序是否响应:

0x06你可以看到这个服务器中唯一存在的用户是root用户,所以我想为什么不看看影子是否可以访问?让黑客妈妈大吃一惊:

0x07正如您所看到的,我能够访问影子文件,因为这root是此服务器中唯一存在的用户,因此没有www-data或任何其他服务器用户可以在这里管理此 Web 应用程序服务器。发生这种错误配置是因为产品提供了不安全地处理此功能输入的翻译/语言功能,只要代码是这样的:

0x08这意味着服务器将包含存在于 cookie 参数中的任何文件,s_Language而不是从后端放置特定文件以避免在此文件中进行操作,这很简单,但您应该知道在哪里搜索。

总是聪明地工作而不是努力

回复

最后是 alhamdulilah:

0x09

转载信息 文章标题:CVE-2021–45043发现之旅 原文作者:Momen Ali (Cyber Guy) 原文链接:https://infosecwriteups.com/my-cve-2021-45043-lfi-write-up-441dad30dd7f 如有侵权,请联系删除