2009-08-14 74 views
2

我正在寫我正在寫的Silverlight應用程序中的MITM攻擊。該網站將通過SSL運行。據我所知,如果我的網站是MITM攻擊的受害者,我現在唯一的防禦就是瀏覽器在網站證書不可信時顯示的警告頁面。由於它只是一個瀏覽器,它能做的最好的只是警告用戶,然後讓他們通過。用戶可以點擊快樂,並且傾向於不讀取事物。因此,他們很可能會閱讀此警告,搔頭,並繼續前往該網站。我的想法是,自從我編寫一個強大的Silverlight應用程序以來,我應該能夠檢測瀏覽器是否看到證書錯誤,或者執行與瀏覽器執行相同的驗證。然後,如果我確定存在問題,我可以簡單地鎖定我的整個應用程序,以便用戶不會向MITM公開任何重要信息。我遇到的問題是,我似乎無法在Silverlight的.NET有限子集中找到正確的類來完成我需要做的事情。有誰知道我可以如何實現這個目標,或者以不同的方式解決這個問題?如何在Silverlight中驗證主機服務器的證書?

回答

0

據我所知,這是不可能的 - Silverlight使用瀏覽器的網絡堆棧,結果依賴於它的網絡警告和安全基礎設施。

Silverlight 3添加了一個新的網絡堆棧,但我相信一般情況下也是這樣:當您的主機服務器的證書在瀏覽器下載.xap(Silverlight應用程序)時進行驗證,而不是您可以檢查或交互的東西在代碼中。

+0

好吧,所以我在瀏覽器驗證的擺佈。你有沒有看到使用另一種技術基本實現相同目標(防止MITM)的方法? – Hydroslide 2009-08-21 14:43:36

0

恕我直言,你可以檢查本地存儲的證書,因爲瀏覽器會在SSL請求後保存它的副本。 查看this文章。我希望它會給你一些提示

+0

此答案不適用於Silverlight,因爲引用的文章適用於完整的.NET框架; Silverlight的沙盒排除了這種訪問。 – 2009-08-18 05:36:46

相關問題