我关注我正在编写的Silverlight应用程序中的MITM攻击。该网站将通过SSL运行。如果我的网站是MITM攻击的受害者,据我所知,我现在唯一的防御是当网站的证书不受信任时浏览器显示的警告页面。由于它只是一个浏览器,它能做的最好的事情就是警告用户,然后让它们通过。用户可以点击快乐,往往不会阅读。因此,他们很可能会阅读这个警告,抓住他们的头,然后继续访问该网站。我的想法是,由于我正在编写一个强大的Silverlight应用程序,我应该能够检测浏览器是否看到证书错误,或执行与浏览器执行的相同验证。然后,如果我确定存在问题,我可以简单地锁定我的整个应用程序,以便用户不会向MITM公开任何关键信息。我遇到的问题是,我似乎无法在Silverlight的有限的.NET子集中找到合适的类来完成我需要做的事情。有谁知道我如何能够实现这个目标,或者以不同的方式解决这个问题?
答案 0 :(得分:0)
据我所知,这是不可能的 - Silverlight使用浏览器的网络堆栈,因此依赖于其网络警告和安全基础设施。
Silverlight 3添加了一个新的网络堆栈,但我相信通常同样适用:当浏览器下载.xap(Silverlight应用程序)时验证主机服务器的证书,而不是您可以检查或与之交互的内容在代码中。
答案 1 :(得分:0)
恕我直言您可以检查本地存储的证书,因为浏览器会在SSL请求后保存它的副本。 查看this文章。我希望它会给你一些提示