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系统"file:///etc/passwd">><喷火>xxe</喷火>

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

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

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

tCell如何防止XXE攻击

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

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

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