HttpUtility.UrlEncode() 可以防止开放重定向攻击吗?
Could HttpUtility.UrlEncode() prevent Open Redirect attack?
我正在检查 ASP.net MVC 项目的安全问题。
我发现了一些类似下面的代码,我想知道 UrlEncode()
是否阻止了打开重定向问题?
public ActionResult Redirect(string url)
{
return Redirect(HttpUtility.UrlEncode(url));
}
不,当然不是!
打开重定向 基本上允许攻击者将受害者重定向到 unsafe/malicious 页面,因为缺少 URL 身份验证。
对 Url 进行编码根本没用。
为了能够阻止它,你可以在这个线程上看到我的回答:
我正在检查 ASP.net MVC 项目的安全问题。
我发现了一些类似下面的代码,我想知道 UrlEncode()
是否阻止了打开重定向问题?
public ActionResult Redirect(string url)
{
return Redirect(HttpUtility.UrlEncode(url));
}
不,当然不是!
打开重定向 基本上允许攻击者将受害者重定向到 unsafe/malicious 页面,因为缺少 URL 身份验证。
对 Url 进行编码根本没用。
为了能够阻止它,你可以在这个线程上看到我的回答: