我正在运行下面的代码片段来启用安全处理功能,并且它在使用 tomcat 服务器的 REST API 中工作正常。但这个相同的代码片段无法使用 JBoss 服务器工作。
请建议任何解决方法/修复,因为我必须修复 XXE 注入(inject)
。
String strXmlRequest ="<?xml version="1.0"?><!DOCTYPE test[ <!ENTITY demo SYSTEM "D:\\test.text">]>"
SAXParserFactory saxFactory = SAXParserFactory.newInstance();
saxFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
SAXParser saxParser = saxFactory.newSAXParser();
saxParser.parse(new InputSource(new StringReader(strXmlRequest)), handler );
最佳答案
你尝试过吗:
saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
正如 OWASP XXE Prevention sheet 所解释的
关于java - SAXParserFactory 安全处理功能在 jboss 服务器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58080276/