0

我正在我的基于 j2ee 的 Web 应用程序中上传一个 xsd,该应用程序正在生成 java 类,稍后用于处理。上传 xsd 已被确定为可用于 XML 外部实体注入。我搜索了很多地方并了解如何为 xml 修复它。但是 XSD 尚不清楚 如果有人对此有任何想法,请告诉我。

提前致谢

4

2 回答 2

1

XSD 在这里没有什么特别之处。就该攻击媒介而言,XSD 文档与任何其他 XML 文档一样。

于 2018-08-29T14:27:45.280 回答
0
SchemaCompiler schemaCompiler = XJC.createSchemaCompiler();
schemaCompiler.setDefaultPackageName(packageName);
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false); 
xmlInputFactory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); 
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(new FileInputStream(xsdFile));
try {
    schemaCompiler.parseSchema(xsdFile.toURI().toString(),xmlStreamReader);
} catch (XMLStreamException e) {
    // handle exception
}
于 2018-09-01T08:14:40.007 回答