当有人扫描你的二维码时,编码在其中的URL很少是最终目标。转向链——一个或多个中间URL在用户着陆前将其转移——在二维码营销中很常见,尤其是在动态码和第三方链接缩短服务中。大多数时候这是无害的。但是,被攻破或配置不当的转向链是攻击者在不接触你的印刷材料的情况下劫持二维码流量的最干净方式之一。
本文解释了转向链如何形成、什么使其危险、如何审计你的链,以及哪些防护措施真正有效。
二维码转向链如何形成
典型的链看起来像这样:
二维码 → 链接缩短器(例如 bit.ly/xxx) → 你的营销追踪URL → 最终目标页面
每一跳都是HTTP重定向,通常是301(永久)或302(临时)。当你执行以下操作时链会增长:
- 使用动态二维码平台,将你的URL包装在其自己的短链中
- 通过单独的重定向层添加UTM参数
- 在迁移网站从HTTP到HTTPS时未清理旧重定向
- 使用联属或合作伙伴链接,这些链接通过其自己的追踪域传递
三到四跳并不少见。五个或更多跳数是浏览器开始丢弃安全上下文并且风险情况变化显著的地方。
为什么转向链会造成安全隐患
开放重定向器是核心问题
开放重定向器是一个将访问者转发到任何目标的URL,而不仅仅是受信任的URL。它们看起来像这样:
https://trusted-site.com/go?url=https://attacker.com/fake-login
如果你的转向链中的任何跳转都通过开放重定向器——即使它埋在第三方追踪脚本中——攻击者可以制造一个版本的二维码,将其重定向到恶意页面,同时看起来是从你的域开始的。在扫描前检查编码URL的用户会看到你的品牌名称并放松警惕。
DNS劫持中链
如果你的转向链通过一个你不再控制的域——一个过期的子域、一个你已停止付费的旧SaaS、一个合约已结束的合作伙伴——该域可以被任何人重新注册。新所有者可以将其指向任何地方。这被称为"悬空重定向",比大多数营销人员意识到的更常见。
HTTPS降级风险
一条以HTTPS开始但在中间包含HTTP跳转的链会剥离TLS连接。会话cookies、引用数据和URL中传递的任何令牌在该段以明文传输。在高流量零售或医疗保健二维码活动中,这是一个有意义的数据暴露风险。
浏览器中的混合信任信号
现代iOS和Android二维码扫描器显示代码解析到的第一个URL,而不是最终目标。如果你的链通过一个安全供应商已标记的域——即使很短暂,即使不正确——扫描器可能显示警告。该警告会杀死转化率并损害对你品牌的信任,即使你是受害者而不是攻击者。
如何审计你的转向链
你不需要特殊软件就能开始。这些步骤涵盖了大多数情况:
1. 解码原始二维码内容 使用显示原始URL而不是自动打开的任何二维码扫描器。许多智能手机相机应用隐藏了这一步——使用显示完整编码字符串的专用扫描器应用。
2. 手动追踪每一跳 将URL粘贴到重定向链检查器(如redirect-checker.org和httpstatus.io等免费工具)。记录出现的每个域。
3. 验证你拥有或信任链中的每个域 标记任何你不认识或最近未验证过的域。检查任何缩短器子域或旧营销域的WHOIS注册日期。
4. 计算你的跳转数 如果你有超过三跳,调查每一个是否必要。如果你控制你的动态二维码平台,将链从五跳折叠到两跳很简单。
5. 确认每一跳都使用HTTPS 链中的任何HTTP重定向应在代码印刷前纠正。如果你依赖无法升级的第三方跳转,重新路由避开它。
6. 在每次活动更新后测试 当你更新动态二维码平台中的目标URL时——这正是使用动态代码的全部意义——重新运行审计。目标更改可能会无声地引入新的重定向层。
理解静态与动态二维码之间的差异很重要:静态码没有服务器端重定向,所以链从你编码的任何URL开始。动态码至少引入一个平台控制的跳转,这意味着平台的安全态势变成了你的攻击面的一部分。
真正降低风险的防护措施
| 防护措施 | 处理内容 |
|---|---|
| 使用具有重定向URL白名单的二维码平台 | 在平台级别阻止开放重定向器 |
| 监控链中每个跳转的域过期 | 防止悬空重定向 |
| 在每一步强制执行仅HTTPS | 消除降级攻击 |
在中间页面上设置Referrer-Policy: no-referrer标头 |
减少跳转间的令牌泄漏 |
| 订阅你的域的安全浏览警报 | 早期预警域被标记 |
如果你想对代码指向的位置进行彻底的发布前审查,二维码安全目标检查清单详细涵盖了方程式的目标方面。
最可持续的修复是减少链长。与管理你的超级二维码生成器活动的人合作,尽可能配置直接目标URL,并仅为无法以其他方式获得的追踪保留重定向层。提供内置扫描分析的平台——在二维码数据分析:6个真正驱动决策的核心指标中深入介绍——可以完全替代某些基于重定向的追踪层。
关键要点
- 即使只有一个被攻破或开放重定向器跳转的转向链也可以将你的客户发送到恶意页面,同时看起来合法。
- 悬空重定向在过期或失效域上是真实的且被低估的二维码活动风险。
- 手动审计每一跳:解码原始URL、追踪所有重定向、验证域所有权并确认端到端HTTPS。
- 保持链短。如果你的二维码平台提供内置分析,你可能根本不需要基于外部重定向的追踪。
- 每当更新动态代码的目标URL时重新审计——该更新可能会无声地引入新的重定向层。
