Java 如何使用JAXB防止XML实体注入
我指的是这个链接, 但是在Java 如何使用JAXB防止XML实体注入,java,security,jaxb,ws-security,xxe,Java,Security,Jaxb,Ws Security,Xxe,我指的是这个链接, 但是在xif.createXMLStreamReader(soapHeader.getSource())行中,kiwan工具仍然显示了我非常高的漏洞,所以如果有人知道,请帮助我 我的代码如下所示: SoapHeader soapHeader = ((SoapMessage) message).getSoapHeader(); XMLInputFactory xif = XMLInputFactory.newFactory(); xif.setProperty(XMLIn
xif.createXMLStreamReader(soapHeader.getSource())
行中,kiwan工具仍然显示了我非常高的漏洞,所以如果有人知道,请帮助我
我的代码如下所示:
SoapHeader soapHeader = ((SoapMessage) message).getSoapHeader();
XMLInputFactory xif = XMLInputFactory.newFactory();
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES,false);
xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
XMLStreamReader soapHeaderXsr = xif.createXMLStreamReader(soapHeader.getSource());
unmarshaller.unmarshal(soapHeaderXsr);
谢谢。我通过添加额外的XMLInputFactory属性解决了这个问题,这些属性是:- xif.setProperty(XMLInputFactory.SUPPORT\u DTD,false) 防止XXE的最安全方法始终是完全禁用DTD(外部实体) 将DTD属性设置为false以了解更多信息,请参阅此 现在解决我的代码漏洞
谢谢你你做了正确的事情。我怀疑你的SAST工具有误报。