java - 防止jboss 4.2上的XXE攻击

标签 java web-services jboss jaxb xxe

是否可以以某种方式防止对部署在 jboss 4.2 上的 Web 服务进行 xxe 攻击? WS是通过注解来定义的。我找不到任何配置来禁用支持外部实体和 dtd。

这篇文章 ( Prevent XXE Attack with JAXB ) 是一个在 servlet 中解析肥皂的解决方案,但我需要一些用于带注释的 WS 的东西。

最佳答案

经过长时间的调试 jboss 代码,我找到了针对 jboss 4.2.2 的 XXE 攻击的修复

在 DOMUtils.class(位于 jbossws-common.jar 中)中,我在 DocumentBuilderFactory 实例上添加了额外的功能:

factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);

它解决了问题。

关于java - 防止jboss 4.2上的XXE攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31537423/

相关文章:

java - 小程序-服务器通信,我该怎么做?

jakarta-ee - 如何在 Wildfly 10 中以编程方式创建数据源?

java - 检索 JBoss 上的数据源统计信息

java - 为什么对此 Treeset 的删除调用不能有效删除元素?

java - 如何检查 Cloud Firestore 集合是否存在? (查询快照)

javascript - 在 Angular JS 中显示数组

java - JBoss 推送通知到 Android

java - 使用 java 创建(复杂?)doc/pdf 文档 - 最好的方法是什么?

java - 在哪里注册必须无限期运行的 ContentObserver?

web-services - 开始使用 WSDL。如何做?