XXE

XML外部实体攻击是针对解析XML输入的应用程序的一种攻击。当包含对外部实体引用的XML输入由配置较弱的XML解析器处理时,就会发生这种攻击。这种攻击可能会导致机密数据的泄露、拒绝服务和其他不想要的后果。

tCell的应用程序防火墙监视XXE攻击企图,并可用于阻止攻击者。tCell还将XXE事件通知组织中的指定人员,并为他们提供必要的详细信息,以快速解决该漏洞。

它是什么?

当恶意参与者上传包含对外部实体引用的XML片段时,就会发生XXE攻击。服务器必须配置为接受和解析XML,并且必须允许上传的XML文档中的文档类型定义(dtd)。恶意行为者可以在这些dtd中声明试图访问或修改敏感资源的实体。例如,XXE有效负载尝试公开文件/ etc / passwd.一旦服务器接受这个输入,随后的< foo >实体可能会暴露用户数据。

          
XXE例子
1
<?xml version = " 1.0 " encoding = " iso - 8859 - 1 " ?>
2
<!DOCTYPE foo [
3.
<!元素foo任何>
4
<实体xxe系统“文件:/ / / etc / passwd”>><喷火>xxe</喷火>

避免受到XXE攻击的最佳安全实践是禁止在所有XML输入中使用dtd

恶意行为者如何找到漏洞?

最常见的是,恶意的actor会使用应用程序安全扫描器扫描应用程序的XXE漏洞。然后,攻击者可能会根据扫描程序的结果执行额外的手动探索,并根据易受攻击的应用程序的端点配置自定义构建XXE有效负载。

tCell如何防止XXE攻击

tCell通过一个多步骤的过程来防止XXE攻击。

  1. tCell代理程序检查内容类型头值与有效的XML MIME类型匹配。
  2. 对于每个匹配的请求,tCell代理根据请求体计算一组配置的正则表达式。tCell提供了一个缺省的正则表达式,它将匹配所有的XXE攻击,但是用户可以配置其他的正则表达式或使缺省值更具体。
  3. 基于应用防火墙策略,tCell将报告或阻止可疑的XXE请求。用户可以在“应用防火墙监控事件”视图和“应用防火墙仪表板”中查看XXE数据。

tCell还可以防止技术上不是XXE的基于xml的攻击。默认的XXE regex也可以防止恶意的有效负载利用内部XML实体。的十亿笑攻击是这类攻击的典型例子。