CAT.NET:ASP.net跨站点重定向漏洞

时间:2014-01-24 08:30:36

标签: asp.net security cat.net

CAT.NET表示我的网站存在跨站点重定向漏洞。 它说下面的代码是有问题的,可能导致重定向攻击。

this.Response.Redirect(this.Page.Request.Url.ToString());

我相信当URL中存在用户可控输入时,会发生重定向攻击。但在这种情况下,URL中不存在用户输入。

有人能告诉我这是真的是一个问题,还是只是误报? 如果这确实是一个问题而不是为什么那么解决方案是什么?

1 个答案:

答案 0 :(得分:1)

当有一个参数添加到请求时,会发生跨站点重定向漏洞,该参数指定在执行操作后用户必须重定向到哪个页面(通常在使用表单身份验证时)。

网址如下所示:www.mysite.com/Logon?returnURL=www.mysite.com/Logon 恶意操作包括使用错误的网址替换此参数:www.mysite.com/Logon?returnURL=www.hackerSite.com/Logon

通过检查returnURL是否属于本地,可以很容易地避免这种情况 if (Url.IsLocalUrl(returnUrl))

在您的情况下,它可能是一个正面的,但在重定向之前检查有效性或重定向URL始终是最佳做法。