2016-11-30 136 views
1

我试图保护一个.NET web服务对XXE漏洞利用。 对于基础SOAP消息是XML,它可能存在风险。如何保护.NET Web服务免受XXE漏洞攻击?

可以找到一种禁止XML文档的DTD处理的方法herehere。 但是,SOAP消息的XML解析由框架完成。

如何修改XML阅读器的设置以关闭DTD处理?

我还寻找一个挂钩来直接访问XML内容,但在WebService的文档中找不到任何适合的内容。

回答

1

我做了一些测试,表明ASP.NET web服务受保护免受XXE攻击。 框架似乎默认关闭DTD处理。

我用Soap UI进行测试。 只要添加一个DOCTYPE定义,就像

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE root[ 
<!ENTITY laugh "hahahahaha"> 
]> 

导致错误的请求错误(HTTP状态400)。

为了确保我不只搞乱SOAP消息,我还单独验证了 XML内容。