我們正在建立的消息像以下這是一個SignInRequestMessage
防止跨站點腳本在wtrealm
var message = Microsoft.IdentityModel.Protocols.WSFederation.WSFederationMessage.CreateFromUri(Request.Url);
它具有以下性質:
Microsoft.IdentityModel.Protocols.WSFederation.SignInRequestMessage
Action: "wsignin1.0"
message.Parameters
Count = 2
[0]: {[wa, wsignin1.0]}
[1]: {[wtrealm, javascript:alert(/test/)]}
注意消息中的第二個參數是一個javascript,當adfs重定向到它時,我們實際上看到了警報。
這種情況發生在用戶登錄,並在同一會話中,我們嘗試輸入URL像下面
https://localhost/StarterSTSLib/Login.aspx?wa=wsignin1.0&wtrealm=javascript:alert(/test/)
有沒有人對我們如何避免這種跨站點腳本漏洞的wtrealm
什麼建議嗎?
有趣的問題。我手頭沒有adf,在我真正嘗試之前,我不知道可以引入哪些安全問題(如果有的話)。 – 2012-08-16 15:03:12