首页/安全/漏洞与攻击面速查/开放重定向(URL 跳转参数)
Web 漏洞原理与防护55 条

开放重定向(URL 跳转参数)

应用把用户可控参数当作跳转目标(redirect、next、returnUrl 等),可被用于钓鱼与凭据诱导;防护是使用站内相对路径或白名单映射,避免直接透传完整 URL。

漏洞与攻击面速查安全更新于 2026-10-12

风险与安全写法对比

风险与安全写法对比
风险:/login?next=https://伪装站点.example
安全:仅接受以 / 开头的相对路径,或使用跳转映射表
if not next_url.startswith('/') or next_url.startswith('//'):
    next_url = '/'
校验时同时拒绝 // 与 /\ 开头的双斜杠形式(协议相对跳转),并在统一解码后再判断。

易错点

  • 只判断『包含本站域名』:把本站域名拼进攻击者 URL 的查询串即可绕过简单子串检查

数据来源与参考

  • OWASP Unvalidated Redirects and Forwards 说明
  • OWASP WSTG 客户端安全测试章节
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌