提问者:小点点

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


这些代码行导致Checkmarx报告中出现xxe漏洞:

InputStream is = connection.getInputStream();

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

该问题指出:

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

有什么想法可以解决这个问题吗?


共1个答案

匿名用户

在这里找到了适合我的答案;将这些属性添加到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);