Asp.net 如何保护.NET Web服务免受XXE攻击?
我正试图保护.NETWeb服务免受攻击。 因为底层SOAP消息是XML,所以它有潜在的风险 可以找到一种禁止对XML文档进行DTD处理的方法。 但是,SOAP消息的XML解析是由框架完成的 如何修改XML读取器的设置以关闭DTD处理?Asp.net 如何保护.NET Web服务免受XXE攻击?,asp.net,xml,soap,xxe,Asp.net,Xml,Soap,Xxe,我正试图保护.NETWeb服务免受攻击。 因为底层SOAP消息是XML,所以它有潜在的风险 可以找到一种禁止对XML文档进行DTD处理的方法。 但是,SOAP消息的XML解析是由框架完成的 如何修改XML读取器的设置以关闭DTD处理? 我还寻找了一个可以直接访问XML内容的钩子,但在的文档中没有找到合适的钩子。我做了一些测试,表明ASP.NET web服务受到保护免受XXE攻击。 默认情况下,框架似乎关闭了DTD处理 我用它来做测试。 只需添加DOCTYPE定义,如 <?xml versi
我还寻找了一个可以直接访问XML内容的钩子,但在的文档中没有找到合适的钩子。我做了一些测试,表明ASP.NET web服务受到保护免受XXE攻击。 默认情况下,框架似乎关闭了DTD处理 我用它来做测试。 只需添加DOCTYPE定义,如
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root[
<!ENTITY laugh "hahahahaha">
]>
导致错误的请求错误(HTTP状态400)
为了确保我没有弄乱SOAP消息,我还验证了
XML内容是独立的