java - SAXParserFactory 安全处理功能在 jboss 服务器中不起作用

标签 java servlets jboss saxparser xxe

我正在运行下面的代码片段来启用安全处理功能,并且它在使用 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/

相关文章:

java - EDT 是否可能有太多工作?

java - 部署期间 JBoss hibernate 异常

java - 我需要 Web/JavaEE 容器中的线程来完成同一 JVM 中的 AsyncContext 对象

web-applications - 如果缺少上下文,如何重定向到 "Maintenance Mode"页面

jboss - 启动 Jboss Wildfly 9.02 服务器时出现并发超时异常

jakarta-ee - 用于 Java EE 的免费商业用途应用程序服务器?

java - 高 JVM 堆利用率影响 JStack

java - Spring 集成: gateway bean not found

java - 将 Java 文件更改为存储过程

java - 在servlet中通过scriptlet调用类对象方法