📜  未经验证的重定向和转发

📅  最后修改于: 2022-05-13 01:57:04.065000             🧑  作者: Mango

未经验证的重定向和转发

未经验证的重定向和转发漏洞,有时也称为URL 重定向漏洞,是一种在 Web 应用程序中发现的错误。在这种类型的漏洞中,攻击者用来操纵 URL 并将其发送给受害者。一旦受害者打开 URL,网站就会将其重定向到恶意网站或攻击者希望用户重定向到的网站。攻击者通常借助手动操作 URL 或借助Burpsuite等多种工具来利用此类漏洞,这为攻击者提供了多种方式,因此他可以操纵 URL 以进行重定向。

URL 重定向如何工作?

首先,我们需要对 HTTP 响应代码有一个简单的了解。所以这里是响应代码:

  • 1×× 信息
  • 2×× 成功
  • 3×× 重定向
  • 4×× 客户端错误
  • 5×× 服务器错误

上面的 HTTP 状态代码告诉我们我们从网站收到的响应。所以对于 URL 重定向,一般来说, 3xx代码是重定向代码,告诉用户这个 URL 将被重定向到其他页面。攻击者利用这一点并尝试注入他们的有效负载或操纵 URL 以将受害者发送到他们的恶意网站。下面是 Burpsuite 的屏幕截图,攻击者可以通过它添加过滤器并找出具有 3xx 代码的特定 URL。

上图只显示了那些有 3xx 代码的 URL。现在我们要检查 URL 中的具体参数,例如(dest、redirect、uri、path、continue、url、navigation)等。 URL 有点像 https://www.xyz.com/continue =www.xyz.com/abc。因此,攻击者在“继续”之后删除了整个 URL,并添加了他的钓鱼页面 URL,这可能是原始网页的精确副本。

攻击的逐步工作 -

  1. 攻击者在 Burpsuite 中拦截 URL 的请求。
  2. 将请求发送给蜘蛛。
  3. 检查参数并找到后,将请求发送到转发器选项卡。
  4. 攻击者选择目标位置,在哪里应用你的有效载荷。
  5. 开始攻击。

按照上述步骤,攻击者将获得网站成功重定向的特定 URL 列表。

攻击的影响——

  • 可以通过此错误链接诸如 CSRF 之类的攻击
  • 在这种情况下可以利用 XSS(跨站点脚本)
  • 窃取机密信息
  • 用户可以在网络钓鱼页面上被欺骗,并且可以通过多种方式被利用。

未经验证的重定向和转发漏洞的补救措施 –

  • 从 Web 应用程序中删除重定向功能并替换为直接链接
  • 应为需要重定向的所有特定 URL 维护服务器端列表
  • 重定向的 URL 中的正确验证必须在后端集成
  • 对于所有特定重定向,必须在 Web 应用程序中使用绝对 URL。