all*_*arp 3 c# asp.net security asp.net-mvc asp.net-mvc-4
我将某人的 asp.net mvc 代码读为:
[HttpGet]
public ActionResult Move(string url)
{
return Redirect(HttpUtility.UrlEnocode(url));
}
Run Code Online (Sandbox Code Playgroud)
我担心上面的代码可能会导致 Open Redirect 安全问题,因为“url”来自用户的输入并且永远不会被过滤/保护......
所以网址可能是一些“www.hackersite.com”,这会很危险......
但是有人告诉我,asp.net mvc 框架可以通过 asp.net mvc 框架来防止这个问题。我不知道该怎么做....?
您确切使用哪种技术并不重要。为了防止打开重定向,您只需遵循OWASP指南。通常站点重定向有两种不同的情况:
在这两种情况下,缓解措施可能不同。
对于案例 #1:您必须确保 Url 是 LocalUrl aka。在同一个网络应用程序的域中。否则将主页重定向到另一个页面,例如:您的索引。
if (Url.IsLocalUrl(returnPath))
return Redirect(returnPath);
else
return RedirectToAction("Index", "Home");
Run Code Online (Sandbox Code Playgroud)
对于案例#2:
您可能需要先检查 URL 是否是本地的。如果不是,您必须将用户重定向到一个网页,并要求他确认他将被重定向到另一个域。
您可以在此处找到更多信息:https : //www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet
| 归档时间: |
|
| 查看次数: |
1816 次 |
| 最近记录: |