别再问链接了,先看这篇,我把这种“短链跳转”的链路追完了:一旦授权,后面全是连环套

短链方便、好记、好传播,但有时也正是攻击者用来把你从 A 点拉到 Z 点的利器。我把最近常见的一类“短链→多层跳转→授权页面→二次滥用”链路拆了个底朝天,把能看、能查、能自保的实操方法都写清楚,直接照着做就行——别再随手点、随手授权。
一眼看懂:这种连环链路长什么样
- 第一步:一个短链(t.cn、bit.ly、短域名)把你吸引住。
- 第二步:短链先跳转到若干个中转页(统计、广告平台、再重定向)。
- 第三步:中转页可能通过 JS、meta-refresh、iframe 或 302/301 把你送到一个“授权”界面(看起来像 Google/Apple/Twitter 的授权页)。
- 第四步:你一旦点同意,页面拿到的令牌(token/授权)会被转送到攻击者可控的后端或嵌入到后续跳转里,后面就真正开始“连环套”——数据抓取、账号操作、发布内容、持续跟踪。
为什么这套危险
- 授权越早,攻击者能做的越多:读取邮件、联系人、发布权限、私信都可能被滥用,具体取决于授权范畴(scope)。
- 链路层层混淆,短链掩盖最终域名;中转页可以伪装来源、植入脚本、偷取 token。
- 手机端的深度链接(universal links / app links / 自定义 URI)会把你直接拉进某个 App,体验与 Web 很不同,权限弹窗也更容易被忽视。
- 授权后撤回并非人人会做,攻击者可以长期利用已有权限迂回突破。
我用的排查思路(可直接照抄执行) 1) 先不要点。把短链粘到可展开服务或工具里看源头。
- 在线展开器:unshorten.it、checkshorturl.com 等。它们给出每一步跳转的最终地址。 2) 用 curl/命令行查看重定向链(最直接)
- curl -I -L -s -o /dev/null -w "%{redirect_url}\n" "短链URL"
- 或者 curl -v -L "短链URL",可以看到每一步 301/302 的 Location 和域名。 3) 浏览器层面看细节(推荐 Chrome/Edge)
- 打开 DevTools(F12)→ Network,勾选 Preserve log,过滤类型为 Doc/XHR/Script。
- 复制短链在地址栏粘贴但不要按回车。先把鼠标悬停在链接上看到底层域名(不过短链看不到)。
- 点击后观察 3xx 重定向、JS 动态重定向(setTimeout、location.assign)、POST 请求、跨域请求等。 4) 如果担心 JS 隐蔽跳转,先在浏览器里禁用 JS,再打开短链看静态跳转。 5) 手机深链检查(Android)
- 可以用 adb:adb shell am start -a android.intent.action.VIEW -d "uri" 来测试 App 是否会响应。
- 或在手机上先把链接发送到电脑,用上面的 curl/浏览器先判断再决定是否在手机端打开。 6) 使用抓包工具(Burp、mitmproxy)监听并还原链路,尤其能看见 token/表单 POST 的去向。抓包请在安全、合规的前提下进行。
如何分辨“假授权”与“真授权”页面
- 查看域名和证书:真正的 OAuth 授权一般会在第三方的正规域名(accounts.google.com、appleid.apple.com 等)上出现;假页面往往用近似域名或自建域名。
- 检查授权弹窗里的应用名/图标/描述:模糊、空白或无来源的应用要慎重。
- 查看 URL 参数:有没有 clientid、redirecturi、scope、responsetype?地址里的 redirecturi 是否指向你不认识的域名?
- 注意 responsetype:responsetype=token(隐式流)在浏览器中更容易被截获;response_type=code(authorization code + PKCE)更安全。
- scope(权限列表)是否“过度”:请求读写、发送消息、读取联系人这类敏感权限应当高度怀疑。
一旦不小心授权了,立即做这几件事(步骤化) 1) 立即撤销授权:Google/Apple/Twitter/各大平台的“已连接的应用/第三方访问”里撤回该应用权限。 2) 改密码并强制登出所有设备(如果平台支持)。 3) 打开两步/多因素验证(2FA)或审查现有 2FA 是否被劫持(例如短信可能被转移)。 4) 检查应用活动日志(发帖、私信、登录记录),如有异常,截图保留证据。 5) 检查是否有新的转发规则(邮箱里)、是否有意外的 OAuth client 已被创建。 6) 如果有财务相关权限(支付/钱包),直接联系平台/银行并申报风险。
给普通用户的实用清单(立刻可用)
- 不随手点短链,先展开或复制到安全环境检查。
- 安装一个短链展开器或扩展(浏览器/手机),优先显示最终域名。
- 常用账户开启 2FA,优先用硬件钥匙或认证器 APP,不要只靠短信。
- 定期在账户安全设置里查看“第三方应用访问”并撤回不熟悉的。
- 想确认一个短链真伪?发给我(或你信任的技术支持)先查一眼。
给网站/内容运营者的建议(如果你在发短链)
- 公开透明:链接目标应可预览,说明最终域名与用途,别直接把用户丢进一串中转广告链。
- 尽量少用多层短链链式跳转;若需统计使用可信任服务并在链接说明处标注来源。
- 对接 OAuth 时使用标准流程(authorization code + PKCE),不要在重定向里明文暴露 token。
- 如果使用第三方广告/统计脚本,要审计其是否会把用户导向可疑授权页。
有人怕麻烦?做这几件“懒人”防护就够了
- 浏览器插件:自动展开短链、阻止第三方脚本(uBlock Origin + uMatrix 风格)。
- 使用独立的“检查用”浏览器配置或无痕窗口,先在里面打开可疑链接;别在主账号/主浏览器里实验。
- 给关键账号使用独立邮箱和独立浏览器配置,减少被连环套连累。
我常用的几条命令/工具(复制即可用)
- 查看重定向链(命令行):curl -I -L -s -o /dev/null -w "%{url_effective}\n" "短链URL"
- 打开并打印完整跳转信息:curl -v -L "短链URL" 2>&1 | sed -n '1,200p'
- 在线工具:unshorten.me / checkshorturl.com / urlscan.io(也能做沙箱分析)