如何保护.NET Web服务免受XXE攻击?

时间:2016-11-30 14:23:29

标签: asp.net xml soap xxe

我正在尝试保护.NET Web服务免受XXE攻击。 对于底层SOAP消息是XML,它可能存在风险。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

我使用Soap UI进行测试。 只需添加像

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

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

为了确保我不仅搞乱了SOAP-Message,我还验证了 XML内容分开。