Pix 版 Magecart:替换二维码而非窃取银行卡的攻击
作者 Laís Peixoto
Growth Marketer, Proteside
发布于 · 2 分钟阅读
Pix 版 Magecart 就是过去复制银行卡的那种恶意代码,如今在付款页面上替换二维码和 Pix Copia e Cola。钱当场转入骗子的账户,商店收不到,只有在顾客的屏幕上进行核对才能阻止替换。
Pix 版 Magecart 是一种老攻击的巴西版本:过去在付款页面复制银行卡号的恶意代码,如今改为替换 Pix(巴西中央银行推出的即时支付系统)的二维码和 Pix Copia e Cola(顾客复制后粘贴到银行应用里的文本付款码)。顾客在正确的商店支付了正确的金额,钱却进了另一个账户。2026 年 9 月,人们在 90 家巴西网店中发现了这种模式。
2026 年 9 月的案例
9 月 1 日,网名 eremit4 的独立研究人员公布了这一发现,并称之为“巴西版的新 magecart”。Kaspersky 确认了这一发现,并于 9 月 9 日公布了相关数据。由该公司和媒体汇总的公开事实如下:
- 90 家中小型网店受到感染,全部使用同一个开源电商平台,而且没有及时更新。
- 攻击的是网站,不是顾客的电脑。 在这些商店选择 Pix 的所有买家,收到的都是被替换的付款码。
- 二维码和 Copia e Cola 一起被替换。 用手机付款、复制付款码的人,与扫码的人一样中招。
- 屏幕上没有任何迹象。 据 Kaspersky 的 Fabio Assolini 介绍,这种替换不会给顾客留下任何视觉线索。
- 银行卡也不例外。 顾客选择信用卡付款时,同一段代码会复制卡片资料,留待日后使用。
- 商家看到的信号是弃单增多:Pix 订单一直待付款,最后没有付款。
三天后,Procon-SP(圣保罗州消费者保护机构)就网购中篡改 Pix 二维码的诈骗向消费者发布了提醒。
与银行卡 Magecart 有何不同
机制相同:代码藏在付款页面里,只在结账时启动。后果却不一样。
- 时间。 银行卡数据会在几天后被出售或盗用。Pix 的钱则当场转走。
- 谁先承担损失。 银行卡付款时,商店收到了钱,问题之后才以针对顾客的欺诈形式出现。Pix 付款时,商店没收到钱,顾客却以为自己已经付过了。
- 追回。 银行卡可以向发卡行提出争议。Pix 的顾客则要申请 MED(Mecanismo Especial de Devolução,特别退款机制,Pix 遇到欺诈时的退款机制),只有收款账户里还有余额才能退回。据报道,骗子会在几小时内把钱分散到几十个账户。
- 攻击者需要偷什么。 银行卡攻击需要读取输入框,再把数据发送出去。Pix 攻击只需替换屏幕上的一段文本和一张图片。不需要有任何数据离开页面,这让监控流量的人更难发现。
常规防护为什么察觉不到
反欺诈系统分析的是交易,而这笔交易是有效的:金额正确,账户真实,顾客正当。支付网关生成了正确的二维码并交给了商店。商店服务器上可能有被感染的文件,也可能是从外部地址获取代码,只在浏览器里加载。
列出脚本并在出现新脚本时报警的工具,如果代码藏在一个原本已获授权的文件里,也可能毫无反应。
真正能解决问题的是另一个问题:顾客看到的二维码,是不是商店签发的那一个?
一些商店的做法
据报道,受害商家采取了三种做法:在二维码旁显示 CNPJ(巴西企业注册号)和公司名称;把二维码从页面上撤下,改为人工索取付款凭证;或者改用中介机构的付款页面。三种做法都能减少损失,但没有一种能清除商店里的代码。
显示 CNPJ 对细心的顾客有帮助,但替换二维码的代码同样能替换这段文字。撤下二维码会拉低 Pix 的转化率,而 Pix 存在的意义就是快。使用中介的付款页面,能让收款脱离商店内所装代码的控制范围,代价是改变购物流程,而且代码依然留在那里,等着下一个表单。
商店如何防范 Pix 版 Magecart
- 更新平台、主题和插件。 那 90 家商店的共同点就是维护滞后。
- 为后台启用双重验证,并检查谁有访问权限。
- 每天跟踪 Pix 待付款率。 没有商业原因的突然上升,就是第一个信号。
- 把显示的二维码与签发的二维码进行比对。 核对必须在顾客的浏览器里、页面加载完成之后进行,因为替换就发生在那里。
- 在付款前拦截。 事后报警有助于调查,但这笔销售和顾客的钱已经没了。
- 让客服做好准备。 为已经付款但订单没有到账的顾客准备好处理流程。
如需从银行卡到 boleto(巴西银行付款单)的完整介绍,请阅读Magecart 是什么,网店如何防范。
Proteside 的作用
Proteside 负责第 4 步的核对和第 5 步的拦截。商店或服务商生成收款时,签发的二维码和 Copia e Cola 会被记录下来。在顾客的屏幕上,它把正在显示和被复制的内容与这份记录进行比对;如果不一致,就在二维码的位置显示警告,不交出被替换的付款码。每次尝试都会变成一条发给商店的警报,包含订单、金额和发现的收款目标。参见结账页面的 Pix 保护。