当前位置: 首页 > 知识库问答 >
问题:

如何使XSL Transformer对XXE等恶意攻击安全?

柯英奕
2023-03-14

对于xsl转换,我使用这个接口:javax.xml.transform.转换器实现是saxon.jaxp.TransformerImpl

我需要使这个转换器对XML外部实体(XXE)攻击安全。现在,如果有外部实体,它就会被调用,并可能被用于拒绝服务攻击。

有没有办法配置变压器?我知道如何使用saxon解析器,但我只有Transformer类,不知道如何从中提取解析器。

共有1个答案

唐沈义
2023-03-14

首先(很抱歉,这有点愤世嫉俗),您需要决定是在试图防范攻击,还是在试图通过某些扫描工具执行的安全检查。这不是一回事。

假设您真的试图防止攻击,那么首先要确定样式表作者是否值得信任。

如果您运行的是不受信任的样式表,那么您确实需要非常小心;特别是,不要痴迷于XML实体攻击,因为不受信任的样式表还有很多其他方式可以访问您机器上的数据或进入无限循环。

如果您运行的是受信任的样式表(但针对的是不受信任的XML文档),那么事情就会简单得多:最简单的方法是通过提供URIResolver自己控制所有XML解析。然后,您只需要担心如何将解析器配置为安全的,而不是试图通过XSLT引擎间接控制它。

 类似资料:
  • 我们对代码进行了安全审计,它提到我们的代码容易受到XML外部实体(XXE)攻击。 XML外部实体攻击利用XML功能在处理时动态构建文档。XML实体允许动态包含来自给定资源的数据。外部实体允许XML文档包含来自外部URI的数据。除非配置为其他方式,否则外部实体会强制XML解析器访问URI指定的资源,例如本地计算机或远程系统上的文件。此行为会使应用程序遭受XML外部实体(XXE)攻击,这些攻击可用于执

  • 开发人员通常直接使用或连接潜在的易受攻击的输入与文件,或假设输入文件是有效的。如果未正确检查数据,则可能导致Web服务器处理或调用易受攻击的内容。 示例 一些经典的例子包括 - 将文件上传到Web目录中。 上传进行调整大小。 上传大文件。 上传包含代码(标签)的文件。 将文件上传到Web目录中。 动手实践 第1步 - 启动WebGoat并导航到恶意文件执行部分。如下所示- 第2步 - 为了测试演示

  • 问题内容: 最近,我们对代码进行了安全审核,问题之一是我们的应用程序受到 Xml eXternal Entity (XXE)攻击。 基本上,该应用程序是一个计算器,可通过Web服务以XML形式接收输入。 这是对我们的应用程序进行此类XXE攻击的示例: 如您所见,我们可以引用指向外部文件()的实体。 关于XML输入本身(该部分)未与JAXB(v2.1)一起编组。Web服务部分基于jaxws- rt(

  • 想知道如何使用Xstream API修复Xml外部实体(XXE)漏洞。 就像我们能做的一样 使用DocumentBuilderFactory。更多详细信息-https://www.owasp.org/index.php/XML_External_Entity_(XXE)\u预防\u备忘单 我的代码是这样的-

  • 请给我一个提示,为什么我的代码不容易受到XXE的攻击。 代码: 测试用例1: 结果1: 到现在为止,一直都还不错。但是,当我尝试注入XML代码以检索本地文件的内容时: 然后什么都不打印。“test.txt”在文件结构中与我执行攻击的php文件处于同一级别。我已经尝试过了 以及 但无济于事。 test.txt: 已尝试: 没有结果。 有什么提示吗? 反映保罗·克罗维拉,这里有一个编辑: CP-ing

  • 主要内容:1. 恶意软件,2. 预防措施,3. 防恶意软件恶意软件(恶意软件)是指向攻击者/恶意软件创建者部分完全控制系统的任何软件。 1. 恶意软件 下面列出了各种形式的恶意软件 - 病毒 - 病毒是一种程序,它可以创建自身的副本,并将这些副本插入到其他计算机程序,数据文件或硬盘的引导扇区中。成功复制后,病毒会在受感染的主机上造成有害活动,例如:窃取硬盘空间或CPU时间。 蠕虫 - 蠕虫是一种恶意软件,它将自身的副本留在其路径中每台计算机的内存中。 特