我差点把手机交出去,我把所谓“每日大赛”的链路追完了:你点一下,它能记住你的设备指纹
我差点把手机交出去,我把所谓“每日大赛”的链路追完了:你点一下,它能记住你的设备指纹

前言 那天在朋友圈看到一个“每日大赛”的链接,标题诱人、页面漂亮,说是答题抽奖。点进去的瞬间有一种被拉进漩涡的感觉 —— 页面不断跳转,要求“验证设备”或“分享到群才能领奖”。差点就在别人面前把手机递过去,请他们帮我操作。幸好我停下来了,决定把这条链路追完:结果发现,点一下就能留下比手机号更难抹去的东西——设备指纹。
我是怎么追的(可复现的调查思路)
- 环境准备:用一台备用手机和一台电脑。用电脑打开浏览器开发者工具(Network / Application 面板),备用手机用于模拟真实点击场景。也可以用代理工具(Charles、Fiddler、mitmproxy)观察网络流量,但那需要安装根证书。
- 观察重定向:点击链接后记录所有跳转域名。很多看似“中奖”的页面会通过一连串短链接、中转域名把你送到最终埋有脚本的页面。
- 捕捉请求:在 Network 里关注名为 collect、track、api、beacon 等的请求,以及外部域名(通常不是宣传方的主域)。这些请求经常带有 query 参数或 POST 的 JSON,里面会有类似 deviceid、fingerprint、visitorid 的字段。
- 查看本地存储:Application -> Local Storage / Session Storage / Cookies,查找是否有长期存在的 ID(比如 fp、deviceId、uid)。有些脚本还会把数据写进 IndexedDB 或通过 Service Worker 做持久化。
- 识别指纹采集:查看页面引入的 JS 文件(尤其体积较大、包含 canvas/webgl、字体探测、timezone 等检测逻辑的)。开源指纹库(如 FingerprintJS)特征明显:会收集 User-Agent、屏幕分辨率、字体、canvas 指纹、WebGL 信息、时区、语言、音频指纹等。
- 回放与确认:清理浏览器存储并再次点击,观察是否生成新的 ID 或继续识别为同一设备;或者换个浏览器/隐身窗口对比行为差异。
我看到的链路模型(简化) 1) 初始短链/推广链接 -> 2) 中转统计域名(记录点击信息) -> 3) 展示页面(加载指纹采集脚本) -> 4) 后端收集并返回唯一 ID -> 5) 用这个 ID 绑定后续行为/分享链路 也就是说,你可能并不需要填写任何信息,单纯一次访问就足以在运营方或其合作方那保存一个“你的设备标签”。
设备指纹能做什么(为什么危险/有价值)
- 用来跨应用、跨会话识别同一设备,即使清了 Cookie 也可能被重识别。
- 构建用户画像:结合来源、页面行为、分享链路,可以判断你感兴趣的内容类别和社交圈层。
- 用于反作弊、营销定向,甚至做社交工程攻击筛选高价值目标。
怎样保护自己(实用建议)
- 点击前预览链接:复制链接到文本查看真实域名,或在安全沙盒/虚拟机里打开。
- 禁用或限制 JavaScript:对于可疑页面,短时间禁用 JS 可以阻止指纹脚本运行(但会影响页面功能)。
- 使用有防指纹功能的浏览器:像 Tor Browser、Firefox + 隐私插件(uBlock Origin、Privacy Badger、NoScript)能降低被识别概率。
- 使用不同的浏览器或私密窗口来隔离会话:把高风险操作放在独立环境中,避免与日常浏览环境共用同一“身份”。
- 定期清理浏览器存储并检查 Service Worker/扩展:有些持久化并不在 Cookie 里,而是在更深层的存储里。
- 最后,慎重对待“分享才能领奖/验证设备”类的诱导社交操作。分享可能把你的指纹链路传给更多人,放大影响。
对主办方/企业的建议(从合规和公关角度) 如果你在运营此类活动,给用户透明说明数据采集目的、保存时长和第三方共享关系,提供明确的退订或删除通道,会大幅降低法律和品牌风险。简单一句“为了防刷我们会收集设备信息并生成匿名ID”往往不够,清晰的隐私页和可控的采集策略更能赢得信任。
结语 我差点把手机交出去,不是夸张,而是实打实遇到那种强交互、强诱导的页面。追完链路后知道,很多看起来无害的一次点击,背后可能在静静地给你打上标签。保护隐私的第一步是意识到这件事存在,接下来是用工具和习惯去降低被识别的概率。
如果你想把类似的链路做成可复现的技术案例或需要我帮忙把你的活动做一次“隐私健康检查”,可以在页面下方留言联系我。分享给关心隐私的朋友,别让他们也差点把手机交出去。
-
喜欢(10)
-
不喜欢(3)
