1

我指的是使用 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);

谢谢。

4

1 回答 1

1

我通过添加额外的 XMLInputFactory 属性解决了这个问题,这些属性是:-

xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);

防止 XXE 的最安全方法始终是完全禁用 DTD(外部实体)。

将 DTD 属性设置为 false 以获取更多信息,请参阅此链接

现在解决我的代码漏洞

谢谢

于 2019-11-22T07:42:53.217 回答