当前位置:首页 > 休闲

手游传奇刷元宝跨过支付漏洞

凌晨三点,手游刷元我盯着手机屏幕上那个“支付成功”的传奇绿色勾,后背发凉。宝跨不是过支因为我花了钱,而是付漏因为我没花钱——一分钱都没花,系统却给我到账了整整五万“元宝”。手游刷元这不是传奇什么慈善活动,是宝跨我在某个传奇手游里,用抓包软件改了一个数字。过支

事情得从三天前说起。付漏我在新区练了个道士,手游刷元结果被同服的传奇战士一刀秒回城。装备差距太大,宝跨要么氪金,过支要么退游。付漏我选了第三条路——打开抓包工具,把充值请求拦下来看了看。原本以为会看到加密的哈希值,结果那破游戏的开发者根本没设防,支付金额就明文躺在数据包里,跟没穿衣服似的。

我把100块改成0.01块,点了支付。支付宝弹出来,显示应付0.01元。我心跳加速,按了指纹。下一秒,元宝到账,数额恰好是100块对应的那档。我愣了几秒,又试了一次,改成0.01,又到账了。第三次,我直接改成0.0001,系统提示“金额异常”,但前两次的漏洞已经够了。

这游戏有个充值返利活动,充100送50。我利用这个漏洞,反复充了十几次小金额,把返利奖励全薅了一遍。最讽刺的是,我还用这些元宝在世界频道刷喇叭骂那些氪金大佬“人傻钱多”。他们不知道,我花的钱还不够买瓶可乐。

漏洞持续了整整一天才被封。我查了下,这游戏用的是第三方支付SDK,但服务端校验逻辑写得太粗糙——只验支付回调的签名,却忘了校验金额是否与订单一致。换句话说,他们信任了客户端传来的所有数据,就像把保险柜钥匙挂在门口,还挂了个牌子写“请自取”。

后来我又试了其他几款传奇手游,发现类似问题并不少见。有的游戏虽然做了金额校验,但没做次数限制;有的干脆把订单号生成规则暴露在客户端代码里,你可以预测下一个订单号,然后构造一个“已支付”的回调。说白了,这些游戏团队把精力全砸在美术和数值上,安全这块儿纯粹靠运气。

我最后没被封号,因为充进去的元宝早被我买了可交易道具,转手卖给了别的玩家,换了现金。那游戏公司查到我头上时,我早把账号注销了。现在想想,这事挺魔幻的。我一边骂着游戏垃圾,一边又靠着它的漏洞白嫖,最后还赚了一笔。

这事过去半年了,我偶尔还会翻出当时的截图看看,提醒自己别太认真。那些在游戏里充了几十万的“大佬”,可能永远不知道自己花的钱,有一部分变成了我这种人的零花钱。而游戏公司呢?他们大概还在忙着出新皮肤,压根没想过把开发机上的安全测试跑一遍。

分享到: