我们在我们的 asp.net asmx Web 服务中发现了一个 XML 外部实体漏洞。
我们正在使用 burp 套件测试一个 asp.net .asmx Web 服务,以检查 XML 外部实体处理漏洞。请参阅: https ://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html#net
我们看到,当请求中包含 DTD 时,如下所示:
<!DOCTYPE soapenv:envelope PUBLIC "-//B/A/EN" "http://1234565.cigitalcollaborator.com">
向 cigitalcollaborator.com 发送 DNS 请求。这表明 asmx Web 服务正在处理请求中的 DTD。
我们正在使用 .net 版本 4.5.2。
根据此链接,应隐式阻止 .net 4.5.2 及更高版本的 XXE 漏洞: https ://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET_4.5.2_and_later
但它不是...我们 ge 这个 DNS 查找。
底层的 .net 框架正在处理这个 asmx Web 服务的 XML 反序列化/序列化,所以这里没有需要我们真正修复的代码。我们不能正确地改变行为,因为它在底层框架的某个地方?
我们如何为我们的 ASMX Web 服务修复这个 XXE 漏洞?
谢谢
乔恩·波