【问题标题】:How to disable XML External Entity(XEE) processing in SAXBuilder which using com.sun.org.apache.xerces.internal.parsers.SAXParser如何在使用 com.sun.org.apache.xerces.internal.parsers.SAXParser 的 SAXBuilder 中禁用 XML 外部实体 (XEE) 处理
【发布时间】:2018-01-01 16:12:17
【问题描述】:

这是我的 sn-p:

public static SAXBuilder createBuilder(@NotNull final String schemaPath)  {


     final SAXBuilder builder = new SAXBuilder("com.sun.org.apache.xerces.internal.parsers.SAXParser", true);
    builder.setFeature("http://apache.org/xml/features/validation/schema", true);
    builder.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);


    builder.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
    builder.setFeature("http://xml.org/sax/features/external-general-entities", false);
    builder.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
    builder.setExpandEntities(false);
    builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", schemaPath);
    builder.setEntityResolver(getEntityResolver());
    return builder;
}

我花了一些时间搜索,但那里没有太多遗漏

【问题讨论】:

    标签: java xml xml-parsing sax owasp


    【解决方案1】:

    我确定了这个问题的根本原因。这是因为我的 xsd 中的 processContents="lax" 属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      相关资源
      最近更新 更多