柜台那张收款码:实体商户场景的替换、跳转与核验 图 1
柜台那张收款码:实体商户场景的替换、跳转与核验 · 图 1

收币、交押金、给海外服务商付定金——二维码把地址复制粘贴折叠成”扫一下”,便利的代价是把核对责任从系统交还给人的眼睛。围绕一张实体收款码的攻击其实很古老:换掉纸质的那层、贴一张新的在上面、把扫码后的跳转页换成假的。识别方法同样古老,只是赌的东西从银行卡号变成了一串链上地址或一个收款账户。

一、攻击面不在码里,在码的介质上

贴纸覆盖是最古老也最有效的一招:一张打印的二维码贴纸盖在原码上,普通用户凭肉眼很难发现两层。第二个攻击面是扫码后的页面。扫码器打开的链接里往往带金额或备注参数,正规商户用动态二维码(每次生成、带金额、有时效)正是为了收窄这一段:静态码谁都能复制,动态码过期作废;但对直接进链上地址的收款方式,所谓动态也可能只是前端展示,最终地址是否被替换要按流程查。第三个攻击面最容易被低估:环境本身——站在柜台后面的”店员”、递给你”扫码可享折扣”的引导者、以及那台替你操作收款设备的机器,攻击对象从来可以不是码而是人。

柜台那张收款码:实体商户场景的替换、跳转与核验 图 2
柜台那张收款码:实体商户场景的替换、跳转与核验 · 图 2

二、商户侧:一张收款码的生命周期制度

有实体收款场景的团队,应当有书面流程。换码:更换收款地址时执行双人核对(新地址从受保护的地址簿取,扫码后与地址簿首尾逐字符对照),旧码当场破坏作废而不是随手放抽屉,并记录更换时间。巡检:每日开门前扫一次收款码与收款页地址核对,频次按金额规模提高;检查表面有无被贴纸与薄膜覆盖、边框有无新胶痕。授权:收款设备的钱包连接与会话定期审计,收款地址与大额储备地址彻底分开,收款地址只进不出、定时归集。留痕:每笔链上收款保留时间、金额与交易哈希——收款码场景的纠纷往往要回到链上记录,没有留痕就只能回到各执一词。

三、用户侧:扫码的四条纪律

一,把二维码当陌生链接对待:扫完弹出的页面要像检查链接一样看域名与收款方名称,与商家招牌、工牌、口头报出的收款主体对不上的,退回复制地址或找店员确认。二,大额转账执行”回读”:付款前把自己钱包显示的收款地址末段读给对方确认,正规商户流程经得起这一问;不愿意被核对的收款方本身即警示信号。三,警惕”升级”话术:以”原收款码故障、系统升级、扫码享折扣”引导你换码换页的过程,就是替换攻击的标准剧本,先通过官方渠道确认是否存在变更。四,不在他人设备上完成自己的授权:任何替你操作钱包、要求你连点确认的”代办”,拒绝是唯一正确姿势。

四、出事之后

商户侧发现被替换:立即作废全部在店收款码并换码,拉取该地址近期收款记录与异常交易对照,把更换时间线与交易哈希留档供后续处理;若金额确认流向陌生地址,按事件向平台或执法渠道提交材料。用户侧付错:第一时间通过交易哈希定位资金当前去向(收款账户、交易所地址等),向对应平台提交冻结申请的同时保留链上证据;被陌生人骗签授权的,先撤销授权再谈追损。扫码本身无罪,它只是把”信任谁”这个决定提前到了付款之前——把每次扫码当成一次地址核对,而不是核对的省略,风险就回到可控范围。

风险提示:收款与转账操作涉及资产安全,本文只提供通用防御与处置建议,不构成投资建议或买卖建议。