3种XXE不同攻击方式

admin 2022年2月10日01:01:42评论95 views字数 1959阅读6分31秒阅读模式

3种XXE不同攻击方式

3种XXE不同攻击方式


Web/移动应用程序,Word处理器,Web服务和内容管理平台使用可扩展标记语言(XML)格式在人类可读和机器可读格式的系统之间存储

和传输数据。如果未正确验证XML数据的输入,则可能使您容易受到许多不同类型的攻击,例如SQL注入,跨站点脚本,服务器端请求伪造,

本地文件读取,拒绝服务以及(此时的英雄) post)XML外部实体(XXE)注入攻击。本文主要关注使用XXE注入攻击的不同攻击场景。

什么是XXE?

XML外部实体(XXE)注入是一个严重的缺陷,允许攻击者读取服务器上的本地文件,访问内部网络,扫描内部端口或在远程服务器上执行命令。它针对解析XML的应用程序。

当包含对外部实体的引用的XML输入由弱配置的XML解析器处理时,会发生此攻击。攻击者通过在XML数据中嵌入恶意内联DOCTYPE定义来利用它。

当Web服务器处理恶意XML输入时,实体将被扩展,这可能会导致攻击者访问Web服务器的文件系统,远程文件系统访问或通过HTTP/HTTPS建立与任意主机的连接。

示例攻击场景

  1. 来自服务器的本地文件劫持

  2. 通过文件上载功能访问服务器文件

  3. 具有递归实体扩展的DOS攻击

攻击场景1:本地文件劫持服务器

当攻击者在请求中发送格式错误的XML payload时,服务器处理此payload并发回包含敏感信息的响应,例如服务器的本地文件,应用程序配置文件,内部网络详细信息等。

在少数情况下,在使用精心设计的XXE payload提交HTTP请求时,服务器使用服务器的/etc/passwd/进行响应。

3种XXE不同攻击方式



快照1:具有恶意INLINE DOCTYPE定义的HTTP请求 - 具有相应的响应

但是,在许多情况下,服务器可能不会发回响应。攻击者可以利用此方法的另一种方法是在XXE payload中包含URL(攻击者控制的服务器)。

当服务器解析payload时,它会对攻击者控制的服务器进行额外调用,从而攻击者侦听受害者的服务器并捕获本地文件,服务器配置文件和其他服务器详细信息等信息。

以下图像(快照2和3)显示URL包含在XXE payload中。提交HTTP请求后,服务器会对攻击者控制的服务器进行额外调用。因此,

攻击者侦听来自受害者系统的请求并捕获服务器详细信息(/etc/passwd/)

3种XXE不同攻击方式

快照2:包含受攻击控制URL的HTTP请求


3种XXE不同攻击方式


快照3:受害者的服务器向攻击者的服务器发出额外的呼叫

攻击场景2:通过“ 文件上载” 功能访问服务器文件

许多应用程序支持“文件上载”功能(XLSX,DOCX,PPTX,SVG或任何XML MIME类型格式)以供进一步处理。通常,这些文件具有XML MIME类型。

攻击者可以利用固有的XML类型并上传嵌入了XXE payload的恶意文件。当服务器解析文件时,执行包含XXE有效载荷的文件,导致客户端服务器的敏感信息泄露。

请注意,在站点的一部分上解析XML的库(例如API)可能与解析上载文件的库不同。

3种XXE不同攻击方式



快照4:将XXE payload嵌入到Docx文件中.Docx(就像pptx和xlsx一样)本质上是Open XML(OXML)文件。

3种XXE不同攻击方式

快照5:将恶意docx文件上载到(示例)应用程序


3种XXE不同攻击方式


快照6:文件提交后,服务器会响应服务器/ etc / passwd的敏感信息

攻击场景3:使用递归实体扩展进行DOS攻击

这种攻击也称为Billion Laugh攻击,XML Bomb或递归实体扩展攻击。当解析器不断扩展其自身内的每个实体时会发生此攻击,这会使服务器过载并导致服务器关闭。

3种XXE不同攻击方式



从上图中,我们看到当解析器开始解析XML文件时,最初是“&lol9;” 引用实体“lol9”来获取值,但“lol9”本身再次引用“lol8”实体。

就像一个实体引用了十个实体一样,这十个实体再次引用其他实体。这样,当解析器扩展实体时,CPU的利用率会大幅增加,从而导致服务器崩溃并变得无响应。

结论

在OWASP排名前10位的2017年排行榜中排名第四,XXE并不是一个新的漏洞,而是一个在最近的应用程序中越来越受欢迎的漏洞。成功的XXE攻击可能会导致安全和业务功能方面的巨大损失。阻止XXE攻击的几种方法包括。

  1. 禁用外部实体。必要时,仅允许受限和受信任的外部链接

  2. 关闭XML中的实体扩展

  3. 仔细检查所使用的XML库的版本是否容易受到XXE的攻击。

  4. 在解析之前验证用户提供的外部/内部实体和INLINE DOCTYPE定义的输入


邀请码

请各位师父,多多发表文章,论坛会固定清理不活跃用户A6795A1D64A6   31E8E5C68629   E7F0311C40A6 

来源:先知 

注:如有侵权请联系删除



3种XXE不同攻击方式

欢迎大家加群一起讨论学习和交流
(此群已满200人,需要添加群主邀请)

3种XXE不同攻击方式

当我们努力使自己变得比现在更好地时候,

我们周围的一切也会变得更好。

原文始发于微信公众号(衡阳信安):3种XXE不同攻击方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月10日01:01:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   3种XXE不同攻击方式http://cn-sec.com/archives/771468.html

发表评论

匿名网友 填写信息