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

配置的XML解析器不会阻止或限制外部实体解析

汪才
2023-03-14

我每次都会再次遇到这个错误,尽管我将代码更改为我在网上找到的代码,如下所示:

private Document convertInputToDocument(InputStream xml) {
    try {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
        factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        factory.setIgnoringElementContentWhitespace(true);
        DocumentBuilder builder = factory.newDocumentBuilder();
    return builder.parse(xml);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

共有1个答案

郜振国
2023-03-14

这背后的原因是/是强化扫描没有编译使用的那些包,因此看不到我们提供了足够的安全性!

 类似资料:
  • 当我在此程序上运行HP Fortify时: 我得到这个错误: 在ItemServlet中配置的XML解析器。92不会阻止或限制外部实体的解析。这会使解析器受到XML外部实体攻击。 根据这个博客,应该设置以下功能。 但问题是,我的TransformerFactory实例不支持这种方法。

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

  • 我在一个函数中使用上面的代码来加载一个XML文件。功能方面,它的工作良好,但它是显示以下Veracode缺陷后Veracode检查。 将XML解析器配置为禁用外部实体解析。 我需要做什么来解决它。

  • 我试图确定.NET核心应用程序是否容易受到XML外部实体(XXE)注入攻击。我读了这个OWASP XXE预防备忘单,它告诉我,例如,在4.5.2之前的.NET Framework版本中,

  • 问题内容: 我目前正在使用DOM解析器来解析XHTML文档,例如: 我的问题是,当我的文档包含一个实体引用时,例如: 我的解析器为包含“€”而不是“€”的内容创建了一个Text节点。这就是说,它正在按预期的方式解析实体(XHTML 1.0 Strict DTD链接到ENTITIES Latin1 DTD,这反过来确定了“€”与“€”的对等)。 问题是,我不希望解析器执行此类操作

  • 主要内容:解析 XML 文档,解析 XML 字符串,跨域访问,XML DOM所有现代浏览器都有内建的 XML 解析器。 XML 解析器把 XML 文档转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象。 解析 XML 文档 下面的代码片段把 XML 文档解析到 XML DOM 对象中: if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlht