Java 避免XML注入攻击的DOM解析器设置
下面是DOM解析器的哪些设置?设置这些属性有什么错误吗?它们会导致例外吗Java 避免XML注入攻击的DOM解析器设置,java,security,Java,Security,下面是DOM解析器的哪些设置?设置这些属性有什么错误吗?它们会导致例外吗 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); dbf.setFeature("http://xml.org/sax/features/external-general-e
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
Document doc = dbf.newDocumentBuilder().parse(new InputSource(byteArrayInputStream));
这些设置通常是为了避免暴露于(XXE)攻击,这可能导致磁盘上的信息暴露()
就我的理解而言,设置这些应该不会引起任何问题。但是,不设置它们可能会使您容易受到攻击。这有助于避免XML外部实体注入 我使用的是HP Fortify SCA(源代码分析器),如果您没有指定这些属性,它就能够发现此类问题
您可以在此处找到更多信息:您找到解决方案了吗?我也在找。如果您找到了解决方案,请发布。