2017年,利用漏洞一个叫Josh的银行澳大利亚程序员发现,某家大型银行的赚钱网上转账系统存在一个时间差漏洞。他先转出1000澳元到自己的利用漏洞另一张卡,在交易尚未结算的银行间隙,立刻将原账户余额清零——系统判定他“没钱了”,赚钱于是利用漏洞自动撤销了这笔转账。他反复操作了47次,银行账户里凭空多出4.7万澳元。赚钱银行花了三周才察觉异常,利用漏洞但Josh早已把钱转进加密货币,银行人飞去了泰国。赚钱
这不是利用漏洞孤例。我认识一个做支付接口开发的银行哥儿们,专门研究过国内某电商平台的赚钱“退款漏洞”。平台规则是:如果订单在发货前申请退款,系统会拦截交易并原路退回款项。但如果你在商家已发货、物流还没扫描的真空期申请退款,系统会先冻结资金,等商家确认收货后再放款。他利用脚本监控这个时间窗口,用多个账号拍下虚拟商品,在物流同步的0.3秒延迟内批量发起退款——结果资金被冻结,但商品已经自动发货了。他靠这个漏洞薅了大概两万块的虚拟点卡,直到平台更新了校验逻辑才收手。
这类操作的共同点,是抓住“系统状态不一致”的瞬间。银行和支付平台的架构里,账务系统、风控系统、物流系统往往各自独立,数据同步存在毫秒级甚至秒级的延迟。你以为你在跟一个“整体”打交道,实际上你在跟一堆互相打架的子系统博弈。Josh的转账漏洞本质是“余额检查”和“转账执行”之间没有加锁,而那个电商漏洞则是“退款状态”和“发货状态”各自为政。
但别以为这活儿简单。想靠漏洞赚钱,你得懂点分布式系统的原理,还得会写爬虫和脚本。更重要的是,你得承受得住法律风险——Josh后来被引渡回国,判了三年缓刑,钱全吐出来还倒贴了诉讼费。那些真正靠漏洞闷声发大财的人,往往只做一次,金额控制在“银行懒得立案”的范围内,然后立刻收手换身份。
说句实在话,这类漏洞现在越来越少了。银行的核心系统早就上了强一致性校验,支付平台也搞了实时对账。但每次系统升级、新旧功能切换的时候,总会有那么几天混乱期——就像装修房子时墙皮会脱落一样。我那个哥儿们现在还在盯各大平台的“活动规则漏洞”,比如优惠券叠加逻辑、会员积分结算延迟,但他说这行当越来越像淘金,金子快挖完了,剩下全是石头。
说到底,利用漏洞赚钱的本质,是跟机器比谁更懂规则。机器只会按代码执行,而人懂得在规则的缝隙里钻空子。但规则是人写的,写规则的人也在不断修补——这场猫鼠游戏里,最聪明的玩家永远是那些懂得见好就收、及时抽身的人。
顶: 446踩: 326






评论专区