我使用以下代码重定向到控制器中的引用程序:
return Redirect(this.HttpContext.Request.UrlReferrer.AbsolutePath);在使用应用程序安全工具进行扫描时,它指出上述代码支持钓鱼攻击。
web应用程序接受用户控制的输入,该输入指定到外部站点的链接,并使用该链接生成重定向。这使得网络钓鱼攻击成为可能。
是否有任何方法可以安全地重定向到转诊者?
发布于 2014-06-13 10:24:21
这听起来像是一个通用的错误,在你的情况下可能是无害的。应用程序sec工具并没有意识到您正在将人们送回他们来自的确切页面,相反,它看到了您可以这样做的潜力:
return Redirect(
is_trusted_site( this.HttpContext.Request.UrlReferrer.AbsolutePath )
? sensitiveURL
: otherURL
);如果重定向的URL根据UrlReferrer的内容而改变,那么您可能会成为推荐人欺骗的牺牲品。
同样,如果您想修复“错误”,也许可以使用JavaScript的history.back()。
发布于 2014-06-13 07:00:11
我不认为这有任何问题,考虑到你真正想要的,是重定向到谁把一个链接到你的网站在整个互联网。您无法控制"referrer“如何在HTTP报头中结束。可能是合法的,也可能是伪造的。如果你不介意,我看不出有什么问题。
请注意,有人可以使用您的网站重定向到任何东西,这将为可能的攻击打开大门。也就是说,发送一封电子邮件,该邮件可以准确地链接到您的站点,但在查询参数中指定一个钓鱼站点。
你打算用这个做什么?
https://stackoverflow.com/questions/24199135
复制相似问题