FixVibe

// 探测 / 聚焦

开放重定向

你那个不验证目的地的 /redirect?url=… 就是个钓鱼套件。

概要

Open redirects are the user-trust equivalent of borrowing your brand. The user clicks a link because it starts with yourdomain.com — same TLS cert, same favicon, same muscle memory. Then your app dutifully redirects them to attacker.tld, where a pixel-perfect login page completes the heist. Browsers and email clients show your domain, not the destination, so the URL looks safe under inspection. Most security teams treat open redirects as low-severity bugs in isolation. They're not — they're the loading dock for every credential phishing campaign that wants legitimacy.

工作原理

Open redirects appear when a user-controlled destination is trusted without a strict allowlist. They are commonly abused for phishing, OAuth handoff abuse, and bypassing domain-based trust checks.

影响范围

Phishing leverage at scale. The link starts with your domain, has a valid TLS cert, passes link-preview cards in Slack and email clients with your favicon and OG metadata. End-users — who have been told for two decades to 'check the URL before clicking' — are tricked precisely because they did. Reputation impact compounds with deliverability damage if your domain gets associated with phishing campaigns. In OAuth contexts, an open redirect on `redirect_uri` is direct credential theft.

// what fixvibe checks

What FixVibe checks

FixVibe checks this class with verified-domain active testing that is bounded, non-destructive, and evidence-driven. Public reports describe the affected surface and remediation. For check-specific questions about exact detection heuristics, active payload details, or source-code rule patterns, contact support@fixvibe.app.

铁壁防御

Validate redirect targets against an allowlist of relative paths or specific hostnames. The right shape: `if (!isSafe(next)) next = '/'`. The wrong shape: a regex that 'looks for' http:// at the start. Reject targets starting with `//` (protocol-relative), `http://`, `https://anything-not-yours`, `javascript:`, `data:`, `vbscript:`. For OAuth, configure the IdP with exact-match `redirect_uri` allowlisting — never wildcards, never partial matches. For OAuth public clients, use PKCE so an intercepted code is useless without the verifier. As a defense-in-depth layer, surface a confirmation page for any external redirect: 'You are being redirected to attacker.tld — Continue?' adds friction the phishing kit didn't account for. Audit every place your code calls `res.redirect(userInput)` or `window.location = userInput` — the bugs cluster around recently-added auth flows and 'just one more' redirect parameters.

要点

Open redirects are rated low-severity in isolation and high-severity in practice. The bug is the lab; the impact is in the wild. Treat any user-controlled redirect target as a security boundary, not a routing convenience.

// 在你自己的应用上跑一遍

放心继续发布,FixVibe 持续帮你看守风险。

FixVibe 像攻击者一样对你的应用公开面进行压力测试 —— 无代理、无安装、无信用卡。我们持续研究新的漏洞模式,并把它们转化成实用检查和可直接用于 Cursor、Claude、Copilot 的修复方案。

主动探测
103
本类别中触发的测试
模块
27
专属 主动探测 检查
每次扫描
384+
跨所有类别的测试
  • 免费 —— 无需信用卡,无需安装,无需 Slack 通知
  • 只需粘贴 URL —— 我们爬取、探测、生成报告
  • 按严重程度分级,去重至只剩信号
  • 最新 AI 修复提示词,可直接粘贴到 Cursor、Claude、Copilot
运行免费扫描

// 最新检查 · 实用修复 · 安心发布

开放重定向 — 漏洞聚焦 | FixVibe · FixVibe