未经验证的重定向

medium Web App Scanning 插件 ID 98054

简介

未经验证的重定向

描述

Web 应用程序偶尔会使用参数值来存储客户端将被重定向的页面地址,例如:`yoursite.com/page.asp?redirect=www.yoursite.com/404.asp`

当客户端能够修改请求中受影响的参数值并因此控制重定向的位置时,就会发生未经验证的重定向。例如,以下 URL `yoursite.com/page.asp?redirect=www.anothersite.com` 将重定向到 `www.anothersite.com`。

发生重定向的方式有多种:

1) 具有 3xx 状态代码的响应会告知浏览器重定向至“Location”标头中的 URL

2) 具有“Refresh”标头的响应会告知浏览器在设定的间隔时间(可以是 0)后重新加载页面。标头可以采用任意 URL 参数进行加载

3) HTML <meta> 标签可采用“http-equiv”属性,该属性可代替 HTTP 响应头使用。可以借此模拟“Refresh”

4) 使用 Javascript 将浏览器重定向至任意 URL

网络犯罪分子会在社交工程攻击中滥用这些漏洞,让用户在不知情的情况下访问恶意网站。

扫描程序已发现,服务器在将客户端重定向到注入的值之前未验证参数值。

解决方案

应用程序应确保允许为重定向提供的值。这可通过执行参数值白名单来实现。
白名单应包含允许应用程序将用户重定向到的页面或站点列表。如果提供的值与白名单中的任何值均不匹配,则服务器应重定向到标准错误页面。

另见

https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet

插件详情

严重性: Medium

ID: 98054

类型: remote

发布时间: 2017/3/31

最近更新时间: 2023/7/13

扫描模板: api, full, pci, scan

风险信息

VPR

风险因素: Low

分数: 2.2

CVSS v2

风险因素: Medium

基本分数: 4.3

矢量: CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N

CVSS 分数来源: Tenable

CVSS v3

风险因素: Medium

基本分数: 4.7

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N

CVSS 分数来源: Tenable

CVSS v4

风险因素: Medium

Base Score: 5.1

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

CVSS 分数来源: Tenable

参考资料信息