Вот фрагмент кода для DomParser, который я использую, DomParser, который я использую, имеет Oracle.
import oracle.xml.parser.v2.DOMParser;
DOMParser domParser = new DOMParser();
domParser.parse(new StringReader(xmlPayload));
Document doc = domParser.getDocument();
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("student");
Недавно наша команда безопасности выразила обеспокоенность тем, что приведенный выше DOM-парсер уязвим для атаки безопасности, и предложила установить два атрибута
domParser.setAttribute("RESOLVE_ENTITY_DEFAULT", true);
domParser.setAttribute("DEFAULT_ENTITY_EXPANSION_DEPTH", 150);
Но при установке этих атрибутов я получаю ошибку ниже,
Exception in thread "main" java.lang.IllegalArgumentException
at oracle.xml.parser.v2.XMLParser.setAttribute(XMLParser.java:870)
at oracle.xml.parser.v2.DOMParser.setAttribute(DOMParser.java:538)
at DomParserExample.main(DomParserExample.java:20)
пожалуйста, дайте мне знать, как я могу предотвратить внедрение XML Entity Expansion и XXE-атаки. Я пытался заглянуть в Шпаргалку OWASP XEE и пролистал различные вопросы и ответы для атаки XXE, но не смог найти решения для этого.