我指的是用JAXB防止XXE攻击这个链接,
但仍然kiwan工具向我展示了xif. createXMLStreamReader(soapHeader.getSource())
行中非常高的漏洞,所以如果有人知道,请帮助我。
我的代码如下所示:
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_DTD,false);
防止XXE最安全的方法始终是完全禁用DTD(外部实体)。
将DTD属性设置为false以获取更多信息,请参阅此链接。
现在解决我的代码漏洞
谢谢你们