我们正在创建一条消息,如下所示SignInRequestMessage
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
这个跨站点脚本漏洞有任何建议吗?