2
У меня есть следующий вывод в своем докладе Veracode: Неправильное ограничение XML External Entity Reference ('XXE') (CWE ID 611) со ссылкой на следующий код сильфонаVeracode XML External Entity Reference (XXE)
...
> DocumentBuilderFactory dbf=null; DocumentBuilder db = null; try { dbf=DocumentBuilderFactory.newInstance();
> dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
> dbf.setExpandEntityReferences(false);
> dbf.setXIncludeAware(false); dbf.setValidating(false); db =
> dbf.newDocumentBuilder();
> InputStream stream = new ByteArrayInputStream(datosXml.getBytes());
> Document doc = null; doc= db.parse(stream, "");
...
Я исследовал, но я не обнаружил причину этого факта или способ сделать его исчезнуть. Не могли бы вы рассказать мне, как это сделать?
С новыми правилами это не сработает. Veracode сообщит об этом – Xelian
OWASP теперь добавила более обширный документ о том, как предотвратить XXE: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet Но я должен признать, что я не знаю veracode на всех, и у меня нет доступа к нему. Поэтому я не могу подтвердить, соответствуют ли рекомендации OWASP в соответствии с veracode. Но я не понимаю, почему он больше не будет работать. Возможно, вы используете другой синтаксический анализатор XML, который нужно настроить немного иначе? – DelGurth
Нет, я использую предыдущее исправление, и Veracode прекратил сообщать об этом, но потом снова начал несколько дней назад. Я использую тот же парсер. – Xelian