Ank*_*agi 5 java xml security xml-validation owasp
我正在使用javax.xml.validation.Validator来验证我的 xml,如下所示 -
Validator validator = myschema.newValidator();
validator.validate(new StreamSource(new StringReader(xmlString)));
Run Code Online (Sandbox Code Playgroud)
我想通过完全禁用 DTD(文档类型定义)来防止 XML 外部实体攻击,所以如果可能的话,我希望验证器在我的 xml 中出现 DTD 的情况下抛出异常。我已阅读有关使用DocumentBuilderFactory. 我如何在 Validator 中配置它?
小智 4
根据Java 的OWASP XXE 预防电子表格,以下内容应该有效:
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Schema myschema = factory.newSchema();
Validator validator = myschema.newValidator();
try {
validator.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
validator.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
validator.validate(new StreamSource(new StringReader(xmlString)));
} catch ...
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅XMLConstantsJavaDocs 。
| 归档时间: |
|
| 查看次数: |
7004 次 |
| 最近记录: |