Checkmarx报告中显示XMLStreamReader / InputStream xxe漏洞

时间:2018-12-26 16:07:35

标签: java inputstream checkmarx xmlstreamreader xxe

这些代码行导致xxe漏洞显示在Checkmarx报告中:

InputStream is = connection.getInputStream();

XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader reader = factory.createXMLStreamReader(is);

问题指出:

“应用程序使用createXMLStreamReader将请求发送到某个资源的远程服务器。但是,攻击者可以通过在getInputStream中发送URL或其他数据来控制请求的目标。”

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

找到了对我有用的答案here;将这些属性添加到XMLInputFactory:

XMLInputFactory xif = XMLInputFactory.newFactory();

//prevents using external resources when parsing xml
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);

//prevents using external document type definition when parsing xml
xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);