是否可以以某种方式防止对部署在jboss 4.2上的Web服务的xxe攻击?WS由注释定义。我找不到任何配置来禁用支持的外部实体和dtd。
在这篇文章中(用JAXB防止XXE攻击)是一个解析servlet中肥皂的解决方案,但我需要一些注释WS。
经过长时间的调试jboss的代码,我找到了一个修复jboss 4.2.2XXE攻击的方法
在DOMUtils. class(位于jbossws-公共.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);
它解决了问题。