一个反常点:完整卡号没有泄露,CVV也没有展示,钱还是被刷走了。
这位作者的虚拟信用卡原本保存在一家知名电商,开了3D Secure,也设了限额。电商账号被盗后,攻击者先尝试下单,看到银行3D Secure页面,随后取消。几个小时内,作者收到多个不同商户的3D验证短信。再过一会儿,对方换到一个不走3D Secure的商户,把剩余额度分几笔刷走。
钱最后通过拒付追回。可这件事最刺眼的地方,不是“用户密码失守”。那只是入口。真正的问题是:支付系统里几条看似合规、看似低风险的缝,被串成了一条能走通的路。
卡没完整泄露,攻击者怎么补全
PCI DSS允许商户展示PAN卡号的前6位和后4位,也允许展示持卡人姓名、服务码、有效期;但禁止展示完整磁道、验证码、PIN等敏感认证数据。
这套规则本身不是漏洞。问题在现实组合。
| 环节 | 攻击者可能拿到什么 | 风险点 |
|---|---|---|
| 电商保存卡页面 | PAN前6后4、姓名、有效期 | 候选空间被大幅压缩 |
| 3D Secure页面 | 发卡行、验证页面等信息 | 确认可用性,辅助识别卡片状态 |
| 支付网关反馈 | 卡号错、过期、CVV错等差异回显 | 给枚举过程提供方向 |
| 部分免3D商户 | 特定交易不触发强验证 | 最后完成扣款 |
16位卡号在已知前6位和后4位后,中间只剩6位。再经过Luhn校验,候选量大约降到99999个。有效期若已知,剩下最硬的一关就是CVV,约999种可能。
这不是“随便猜一下”。但如果支付接口告诉你错在哪里,猜测就不再是黑箱。错误回显像路牌:这条不对,下一条往哪走。
作者估算,攻击者疑似利用多个商户注册或验证流程里的支付接口,低速、分散测试,约每秒6个请求。这个速度不高,单个商户未必觉得异常。跨商户看,风险才变形。
这里必须收住边界。材料不能证明所有银行、所有商户都允许这种路径,也不能把它说成大规模泄露。它更像一个个案复盘。但个案能闭环,说明支付生态里确实存在可被组合利用的灰色通道。
这对谁最要紧
对常把信用卡存在电商平台的人,结论很现实:页面只露几位卡号,不等于安全感可以外包。尤其是同时露出前6后4、姓名、有效期的平台,风险会叠加。
普通用户能做的动作不多,但有几件值得立刻改:不常用的平台别存卡;虚拟卡限额尽量低;长期不用就冻结;收到异常3D短信,不要只改电商密码,先停卡或联系发卡行;纸质小票也别随手丢,尤其是露出前6后4和有效期的那种。
对支付、风控、电商安全团队,重点不是再写一遍“我们符合PCI DSS”。合规只能说明你没越过最低红线,不能说明你挡住了组合攻击。
更该查的是三类东西:
| 对象 | 该看什么 | 现实约束 |
|---|---|---|
| 电商平台 | 是否必须展示有效期,是否能少展示、延迟展示或二次验证后展示 | 用户体验会变差,客服成本会上升 |
| 支付网关 | 错误回显是否过细,是否给了枚举导航 | 商户排障会更麻烦,需要更好的后台诊断 |
| 风控系统 | 验证接口、注册流程、免3D交易能否跨商户联动识别 | 数据共享、责任边界和误杀率都不好处理 |
接下来最该观察的,不是某一家平台发不发声明,而是两个变量:错误回显会不会收敛,免3D交易会不会被更细地监控。前者决定攻击者能不能“问路”。后者决定补全后有没有地方变现。
3D Secure还有一个容易被忽略的点:它不只是验证码页面,也涉及责任转移。开启3D的交易,风险分配和未开启时不同。商户愿意少一步验证,很多时候不是不知道风险,而是在转化率、拒付成本和责任承担之间算账。
这也是普通用户最难受的地方。你不是支付链条里最强的一环,却常常是最先被惊动、最先花时间处理的一环。
合规不是城墙,只是门槛
我不太买账的是那种回应:页面展示符合PCI DSS,所以平台没问题;盗刷找银行,银行会走拒付。
流程上可能没错。安全上远远不够。
PCI DSS的意义,是给支付数据处理划最低线。它不是反自动化攻击手册,也不是跨商户风控系统。把“允许展示”理解成“展示后无风险”,就是把规则当护身符。
支付行业很熟悉这种结构:交易发生时,收益分散给商户、平台、支付通道;风险出现后,再通过拒付、责任转移和客服流程慢慢消化。钱能追回,不代表系统没问题。用户损失的是时间、信任和下一次付款时的迟疑。
“天下熙熙,皆为利来。”这句话放在这里不玄。保存卡、免3D、快速订阅、低摩擦支付,本质都是为了转化率。安全也重要,但只要损失还能被拒付机制吸收,系统就会倾向于继续跑。
这和早年互联网账号体系有点像。很多网站长期允许弱密码、明文提示、过细错误反馈,不是因为没人知道风险,而是因为修掉它们会增加摩擦。直到撞库、薅羊毛、盗号产业链把成本打回来,行业才开始认真谈限速、风控和统一风控视图。
支付系统的门槛更高,监管更强,不能简单类比。但人性和激励很像:只要收益即时、成本滞后,灰色地带就会被反复试探。
这件事的教训很短:卡号没完整泄露,不等于卡没暴露。合规页面上那几位数字,单看无害;遇到会反馈、会分流、会找免验证通道的系统,就成了拼图。
开头那个反常点,也就不反常了。攻击者偷到的不是一张完整卡,而是一组行业默认留下的线索。
