Инъекция XML внешнего объекта: Hp Fortify проблема в Java 1.6

Я пытался исправить проблему XEE и пробовал другие варианты, но не работает. Было бы здорово, если бы были какие-либо указатели.

Ниже мой фрагмент кода..

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Source xmlSource = new DOMSource(feed);
Result outputTarget = new StreamResult(outputStream);
TransformerFactory.newInstance().newTransformer().transform(xmlSource,outputTarget);
is = new ByteArrayInputStream(outputStream.toByteArray());

1 ответ

Взгляните на Шпаргалку по профилактике OWASP XXE

основываясь на том, что я вижу в вашем коде, вы должны изменить его следующим образом:

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Source xmlSource = new DOMSource(feed);
Result outputTarget = new StreamResult(outputStream);

TransformerFactory tf = TransformerFactory.newInstance();
tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
tf.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");

tf.newTransformer().transform(xmlSource,outputTarget);
is = new ByteArrayInputStream(outputStream.toByteArray());
Другие вопросы по тегам