0

各位程序员,

我正在开发一个需要清除几个强化问题的 java 1.6 应用程序。迄今为止最大的问题是 XML 外部实体,因为在 1.6 中似乎没有对策。甚至 OWASP 备忘单也说:

请使用 Java 7 更新 67、Java 8 更新 20 或更高版本,否则以上针对 DocumentBuilderFactory 和 SAXParserFactory 的对策不起作用。

经过一些研究,我找到了一些有助于防止 XXE 的说明和设置,但没有最终结果。因此,任何帮助将不胜感激。这是我正在处理的代码。

    public void load(String x, int i) {

    // correcion de vulnerabilidades 26 y 29
    try {
        // Read the XML - Parse the batch class list and get the first ID.


        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

         //XXE Protection Code Goes Here
        dbf.setExpandEntityReferences(false);
        dbf.setValidating(false);
        dbf.setNamespaceAware(true);
        //End of XXE protection code


         DocumentBuilder docBuilder = dbf.newDocumentBuilder();
         System.out.println("El documento es:"+docBuilder.isValidating());
         oXmlDoc = docBuilder.parse(new InputSource(new StringReader(x)));

    } catch (Exception e) {
        e.printStackTrace();
    }
}

遗憾的是,尽管我尽了最大努力,但由于姐妹应用程序和网络也是 1.6,我无法将应用程序带到 java 8 或 7。

任何帮助将不胜感激。

谢谢!

4

0 回答 0