SCW图标
英雄背景无分隔线
博客

程序员征服安全:分享与学习系列-未经验证的重定向和转发

Jaap Karan Singh
2019 年 5 月 23 日 发布
最后更新于 2026年3月10日

对网站或应用程序进行编码,使其能够处理未经验证的重定向和转发,这对你的用户和你的组织都是非常危险的。这种常见的错误经常被黑客利用,他们希望实施网络钓鱼诈骗,或获得通常被限制的网页和信息的访问。

每当一个网络应用程序被设计成将用户转发到新的页面时,就有可能出现这些请求被操纵或劫持的危险。如果没有验证过程来防止转发参数指向非预期的目的地,就会发生这种情况。

好消息是,未验证的重定向和转发是比较容易从你的环境中消除的漏洞之一。一旦被清除,你可以采取几个简单的步骤来确保它们在未来永远不会被生成。

在这一集里,我们将学习。

  • 黑客如何利用未验证的重定向和转发漏洞
  • 为什么允许未经验证的重定向和转发可能是危险的
  • 可以采用的政策和技术来发现和解决这个问题。

攻击者如何利用无效的重定向和转发?

攻击者必须首先找到一个被设置为将用户转发到一个或多个特定页面的网络应用程序。如果目标页面是在代码中定义的,就不存在漏洞。例如,在Java中,这将是一种安全的、预定义的方式,将用户发送到一个新的位置,而不要求他们执行任何操作,如点击超链接。

response.sendRedirect("http://www.knownsafesite.com")。

如果网站被编程为接受用户输入的重定向,或者参数被打开,也许是为了从其他来源获得信息,那么这个漏洞就会发生。例如,开发人员可以使用 "url'GET参数"。

response.sendRedirect(request.getParameter("url"))。

虽然这提供了更多的灵活性,但它也产生了未经验证的重定向和转发漏洞。黑客可以在正斜杠后面添加信息,以触发重定向到他们选择的任何网站,也许是作为钓鱼邮件的一部分。用户在链接的第一部分看到受信任的域名,并没有意识到该网站可能将他们转发到黑客的网站。

为什么无效的重定向和转发如此危险?

允许未经验证的重定向和转发所带来的危险可能是巨大的。对于用户来说,最大的危险是他们可能成为网络钓鱼攻击的受害者。因为他们看到了顶级的URL,他们更有可能相信钓鱼邮件或其他通信,并点击一个链接。而且,如果他们被重定向到的页面看起来像真实的页面,这种欺骗可能相当有效。他们可能会分享他们的用户名、密码或其他凭证,而从不怀疑他们被操纵了。

消除无效的重定向和转发所带来的威胁

无效的重定向和转发是在应用程序正在开发时开始的。它们可以在事后被消除,但消除它们的最简单方法是,首先不允许用户参数或开放字符串作为任何重定向或转发功能的一部分。相反,严格定义用户将被转发的URL,消除变量并拒绝攻击者的操作空间。更好的是,考虑根本不使用重定向和转发。

如果绝对没有办法避免将变量作为重定向或转发过程的一部分,那么就必须有一个验证过程,以确保重定向是去往一组有效的目的地之一。最后,使用映射值而不是实际的URL。黑客会试图使用URL信息,即使他们怀疑有一个映射方案在使用,也可能无法猜到。

关于无效的重定向和转发的更多信息

要进一步阅读,你可以看看OWASP关于未经验证的重定向和转发的参考页。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

一劳永逸地解决未验证的重定向和转发问题。在我们的游戏化培训平台上应用你的新知识并测试你的技能。 [从这里开始]

查看资源
查看资源

对能够处理未经验证的重定向和转发的网站或应用程序进行编码对您的用户和组织来说都极其危险。

对更多感兴趣?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年5月23日发布

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

对网站或应用程序进行编码,使其能够处理未经验证的重定向和转发,这对你的用户和你的组织都是非常危险的。这种常见的错误经常被黑客利用,他们希望实施网络钓鱼诈骗,或获得通常被限制的网页和信息的访问。

每当一个网络应用程序被设计成将用户转发到新的页面时,就有可能出现这些请求被操纵或劫持的危险。如果没有验证过程来防止转发参数指向非预期的目的地,就会发生这种情况。

好消息是,未验证的重定向和转发是比较容易从你的环境中消除的漏洞之一。一旦被清除,你可以采取几个简单的步骤来确保它们在未来永远不会被生成。

在这一集里,我们将学习。

  • 黑客如何利用未验证的重定向和转发漏洞
  • 为什么允许未经验证的重定向和转发可能是危险的
  • 可以采用的政策和技术来发现和解决这个问题。

攻击者如何利用无效的重定向和转发?

攻击者必须首先找到一个被设置为将用户转发到一个或多个特定页面的网络应用程序。如果目标页面是在代码中定义的,就不存在漏洞。例如,在Java中,这将是一种安全的、预定义的方式,将用户发送到一个新的位置,而不要求他们执行任何操作,如点击超链接。

response.sendRedirect("http://www.knownsafesite.com")。

如果网站被编程为接受用户输入的重定向,或者参数被打开,也许是为了从其他来源获得信息,那么这个漏洞就会发生。例如,开发人员可以使用 "url'GET参数"。

response.sendRedirect(request.getParameter("url"))。

虽然这提供了更多的灵活性,但它也产生了未经验证的重定向和转发漏洞。黑客可以在正斜杠后面添加信息,以触发重定向到他们选择的任何网站,也许是作为钓鱼邮件的一部分。用户在链接的第一部分看到受信任的域名,并没有意识到该网站可能将他们转发到黑客的网站。

为什么无效的重定向和转发如此危险?

允许未经验证的重定向和转发所带来的危险可能是巨大的。对于用户来说,最大的危险是他们可能成为网络钓鱼攻击的受害者。因为他们看到了顶级的URL,他们更有可能相信钓鱼邮件或其他通信,并点击一个链接。而且,如果他们被重定向到的页面看起来像真实的页面,这种欺骗可能相当有效。他们可能会分享他们的用户名、密码或其他凭证,而从不怀疑他们被操纵了。

消除无效的重定向和转发所带来的威胁

无效的重定向和转发是在应用程序正在开发时开始的。它们可以在事后被消除,但消除它们的最简单方法是,首先不允许用户参数或开放字符串作为任何重定向或转发功能的一部分。相反,严格定义用户将被转发的URL,消除变量并拒绝攻击者的操作空间。更好的是,考虑根本不使用重定向和转发。

如果绝对没有办法避免将变量作为重定向或转发过程的一部分,那么就必须有一个验证过程,以确保重定向是去往一组有效的目的地之一。最后,使用映射值而不是实际的URL。黑客会试图使用URL信息,即使他们怀疑有一个映射方案在使用,也可能无法猜到。

关于无效的重定向和转发的更多信息

要进一步阅读,你可以看看OWASP关于未经验证的重定向和转发的参考页。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

一劳永逸地解决未验证的重定向和转发问题。在我们的游戏化培训平台上应用你的新知识并测试你的技能。 [从这里开始]

查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“分析”Cookie。完成后,可以随意再次禁用它们。

对网站或应用程序进行编码,使其能够处理未经验证的重定向和转发,这对你的用户和你的组织都是非常危险的。这种常见的错误经常被黑客利用,他们希望实施网络钓鱼诈骗,或获得通常被限制的网页和信息的访问。

每当一个网络应用程序被设计成将用户转发到新的页面时,就有可能出现这些请求被操纵或劫持的危险。如果没有验证过程来防止转发参数指向非预期的目的地,就会发生这种情况。

好消息是,未验证的重定向和转发是比较容易从你的环境中消除的漏洞之一。一旦被清除,你可以采取几个简单的步骤来确保它们在未来永远不会被生成。

在这一集里,我们将学习。

  • 黑客如何利用未验证的重定向和转发漏洞
  • 为什么允许未经验证的重定向和转发可能是危险的
  • 可以采用的政策和技术来发现和解决这个问题。

攻击者如何利用无效的重定向和转发?

攻击者必须首先找到一个被设置为将用户转发到一个或多个特定页面的网络应用程序。如果目标页面是在代码中定义的,就不存在漏洞。例如,在Java中,这将是一种安全的、预定义的方式,将用户发送到一个新的位置,而不要求他们执行任何操作,如点击超链接。

response.sendRedirect("http://www.knownsafesite.com")。

如果网站被编程为接受用户输入的重定向,或者参数被打开,也许是为了从其他来源获得信息,那么这个漏洞就会发生。例如,开发人员可以使用 "url'GET参数"。

response.sendRedirect(request.getParameter("url"))。

虽然这提供了更多的灵活性,但它也产生了未经验证的重定向和转发漏洞。黑客可以在正斜杠后面添加信息,以触发重定向到他们选择的任何网站,也许是作为钓鱼邮件的一部分。用户在链接的第一部分看到受信任的域名,并没有意识到该网站可能将他们转发到黑客的网站。

为什么无效的重定向和转发如此危险?

允许未经验证的重定向和转发所带来的危险可能是巨大的。对于用户来说,最大的危险是他们可能成为网络钓鱼攻击的受害者。因为他们看到了顶级的URL,他们更有可能相信钓鱼邮件或其他通信,并点击一个链接。而且,如果他们被重定向到的页面看起来像真实的页面,这种欺骗可能相当有效。他们可能会分享他们的用户名、密码或其他凭证,而从不怀疑他们被操纵了。

消除无效的重定向和转发所带来的威胁

无效的重定向和转发是在应用程序正在开发时开始的。它们可以在事后被消除,但消除它们的最简单方法是,首先不允许用户参数或开放字符串作为任何重定向或转发功能的一部分。相反,严格定义用户将被转发的URL,消除变量并拒绝攻击者的操作空间。更好的是,考虑根本不使用重定向和转发。

如果绝对没有办法避免将变量作为重定向或转发过程的一部分,那么就必须有一个验证过程,以确保重定向是去往一组有效的目的地之一。最后,使用映射值而不是实际的URL。黑客会试图使用URL信息,即使他们怀疑有一个映射方案在使用,也可能无法猜到。

关于无效的重定向和转发的更多信息

要进一步阅读,你可以看看OWASP关于未经验证的重定向和转发的参考页。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

一劳永逸地解决未验证的重定向和转发问题。在我们的游戏化培训平台上应用你的新知识并测试你的技能。 [从这里开始]

观看网络研讨会
开始吧
了解更多

点击下面的链接并下载此资源的PDF。

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
对更多感兴趣?

分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年5月23日发布

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

对网站或应用程序进行编码,使其能够处理未经验证的重定向和转发,这对你的用户和你的组织都是非常危险的。这种常见的错误经常被黑客利用,他们希望实施网络钓鱼诈骗,或获得通常被限制的网页和信息的访问。

每当一个网络应用程序被设计成将用户转发到新的页面时,就有可能出现这些请求被操纵或劫持的危险。如果没有验证过程来防止转发参数指向非预期的目的地,就会发生这种情况。

好消息是,未验证的重定向和转发是比较容易从你的环境中消除的漏洞之一。一旦被清除,你可以采取几个简单的步骤来确保它们在未来永远不会被生成。

在这一集里,我们将学习。

  • 黑客如何利用未验证的重定向和转发漏洞
  • 为什么允许未经验证的重定向和转发可能是危险的
  • 可以采用的政策和技术来发现和解决这个问题。

攻击者如何利用无效的重定向和转发?

攻击者必须首先找到一个被设置为将用户转发到一个或多个特定页面的网络应用程序。如果目标页面是在代码中定义的,就不存在漏洞。例如,在Java中,这将是一种安全的、预定义的方式,将用户发送到一个新的位置,而不要求他们执行任何操作,如点击超链接。

response.sendRedirect("http://www.knownsafesite.com")。

如果网站被编程为接受用户输入的重定向,或者参数被打开,也许是为了从其他来源获得信息,那么这个漏洞就会发生。例如,开发人员可以使用 "url'GET参数"。

response.sendRedirect(request.getParameter("url"))。

虽然这提供了更多的灵活性,但它也产生了未经验证的重定向和转发漏洞。黑客可以在正斜杠后面添加信息,以触发重定向到他们选择的任何网站,也许是作为钓鱼邮件的一部分。用户在链接的第一部分看到受信任的域名,并没有意识到该网站可能将他们转发到黑客的网站。

为什么无效的重定向和转发如此危险?

允许未经验证的重定向和转发所带来的危险可能是巨大的。对于用户来说,最大的危险是他们可能成为网络钓鱼攻击的受害者。因为他们看到了顶级的URL,他们更有可能相信钓鱼邮件或其他通信,并点击一个链接。而且,如果他们被重定向到的页面看起来像真实的页面,这种欺骗可能相当有效。他们可能会分享他们的用户名、密码或其他凭证,而从不怀疑他们被操纵了。

消除无效的重定向和转发所带来的威胁

无效的重定向和转发是在应用程序正在开发时开始的。它们可以在事后被消除,但消除它们的最简单方法是,首先不允许用户参数或开放字符串作为任何重定向或转发功能的一部分。相反,严格定义用户将被转发的URL,消除变量并拒绝攻击者的操作空间。更好的是,考虑根本不使用重定向和转发。

如果绝对没有办法避免将变量作为重定向或转发过程的一部分,那么就必须有一个验证过程,以确保重定向是去往一组有效的目的地之一。最后,使用映射值而不是实际的URL。黑客会试图使用URL信息,即使他们怀疑有一个映射方案在使用,也可能无法猜到。

关于无效的重定向和转发的更多信息

要进一步阅读,你可以看看OWASP关于未经验证的重定向和转发的参考页。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

一劳永逸地解决未验证的重定向和转发问题。在我们的游戏化培训平台上应用你的新知识并测试你的技能。 [从这里开始]

目录

下载PDF
查看资源
对更多感兴趣?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子