Настройки парсера DOM, чтобы избежать атаки XML Injection

1

Каковы следующие параметры для парсера DOM? Что-то не так в настройке этих атрибутов? Могут ли они вызывать какие-либо исключения?

 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));   
Теги:
security

2 ответа

1

Обычно они устанавливаются так, чтобы избежать воздействия атак типа XML External Entity (XXE), которые могут привести к экспонированию информации на диске (здесь подробности OWASP).

Насколько я понимаю, установка этих проблем не должна вызывать никаких проблем. Однако, не устанавливая их, вы можете стать уязвимыми для атаки.

0

Это помогает избежать внедрения внешних внешних XML-объектов.

Я использовал HP Fortify SCA (анализатор исходного кода), он смог найти такие проблемы, если вы не указали эти атрибуты.

Вы можете найти дополнительную информацию здесь: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet

Ещё вопросы

Сообщество Overcoder
Наверх
Меню