被盗4900万,互联网巨头竟败给“小学生”

上次讲了淘宝把钥匙插在保险柜上泄漏11.8亿用户手机号的故事,吃瓜群众普遍反映干货太多,技术太高深,篇幅太长,那么今天来个人人都能看懂的。

一顿操作猛如虎,
一看余额两万五。
不劳而获忍不住,
三年牢饭苦煞吾。
《那些年,互联网巨头犯过的低级错误》第二集来啦,有请我的同事小亮,一个浙大毕业造无人机的小哥哥,给大家讲讲小学生黑掉百度外卖4900万的故事。
以下为小亮同学的处女作
人生的三大问,是什么?要我说,三大问就是“早饭吃什么?”、“午饭吃什么?”、“晚饭吃什么?”。
打工人日子苦,每一顿饭都要思索再三
但是吧,万一平台账户余额千万元的“壕”,竟是我自己,那还愁什么“三大问”。小孩子才做选择题,成年人我全都要!
被盗4900万,互联网巨头竟败给“小学生”
文章图片

“钱钱都是他们的,我什么都没有”?不存在的!百度外卖,助力每一个梦想(要坐牢的,别试)
1. 千万余额诞生记
“百度外卖”平台系统被非法侵入,4900余万元被篡改,下单单数覆盖全国多个地区,人数达百余人,直接消费损失30余万元。
《北京青年报》 2018-01-30 A09
2017年10月的一天,郑某照常打开百度外卖平台,准备来份外卖。
好巧不巧,余额没了。难道得饿肚子?
那不能呀,肯定得弄点钱。看着账户所剩无几的余额,他灵光一闪,一个好法子应运而生。
一顿操作猛如虎,再看余额两万五!
独乐乐不如众乐乐,这一“伟大发现”不久就出现在群聊中、论坛上,收获一众“楼主好人”、“lz一生平安”。
当然,认知差不论何时,总是能赚钱的,按下不表。
短时间内大江南北的网友齐上阵,“薅”的“羊毛”加起来有千万元之多。
这一天,百度外卖“成就”了不少一日百万富翁。
2. “生财圣手”方法论
那么(聪明机智的)犯罪嫌疑人郑某,究竟是钻了什么漏子呢?
报道中对于此次案件的描述,用词为“非法侵入”、“篡改”,案件性质却是盗窃案。
借用一下范大将军的经典语录,意思还就是说的那个意思:
“人家百度外卖也有理由说的,我在的什么公司啊,我在的BAT之一的百度公司,你这郑某是什么人啊,你来hack我?犯罪嫌疑人是什么水平?就这一个人,他能hack吗?hack不了,没这个能力知道吧?”
那么此次“非法侵入”(划去)盗窃事件是如何发生的呢?背后的原理真是简单得不得了,十字路口随便丢块石头,都能砸到两个会这种“侵入”的。
被盗4900万,互联网巨头竟败给“小学生”
文章图片
被盗4900万,互联网巨头竟败给“小学生”
文章图片

首先,明确漏洞所在位置。所谓的“系统漏洞”,有且只有发生在百度外卖平台的提现系统中,具体表现为:提现操作可以增加账户余额。
肯定有小伙伴要说了:“不对啊!提现,账户余额肯定减少了,怎么还能增加呢?”
如果有同样的疑惑,没问题,接着往下看。
然后,明确漏洞处的业务流程。提现操作,即将平台虚拟账户中的金额依照用户的需求数量,转移到另一账户中。反映在数据上,提现的操作就是 “原先账户余额”减去“提现金额”,得到“最新账户余额”,是一个简单的减法操作。
减法能出什么错呢?还真能!可别想当然,减去的数可以是正数,也可以是负数。
最后,操作!赚钱!(不是)。漏洞发生时,百度外卖平台提现系统中,用户填写的“提现金额”的数值,还就真可以为负数!这意味着“原先账户余额”减去了一个负数,“最新账户余额”相较于先前,反而增加了!
被盗4900万,互联网巨头竟败给“小学生”
文章图片

离谱,确实离谱。
正常的提现业务系统里,操作的减法运算应受到足够限制,包括限制“原先账户余额”要大于等于“提现金额”(否则新的账户余额会变成负数)、限制“提现金额”要大于0(确保“提现”操作使得账户余额减少了)。
很明显,百度外卖的提现业务代码中,缺少了对于“提现金额”的参数校验,减法运算中“原先账户余额”可以减去负数,那么“最新账户余额”自然就增大了。
恭喜百度外卖提现系统,达成成就:“虚空印钞机”
3. 安全事故警示录
2018年1月4日,北京市海淀区人民检察院以涉嫌盗窃罪批准逮捕郑某。郑某为自己的“钻漏子”行为付出了法律的代价。
案件另一方的百度外卖平台,直接消费损失近30万元人民币。漏洞风波过后,百度外卖的名声渐渐隐去,只留得饿了么、美团外卖继续在互联网外卖市场中拼杀。
互联网三巨头如百度,旗下产品在涉及金钱交易业务方面,也曾犯下参数验证缺失的简单错误,且被大范围利用,造成巨量损失,属实不应该。
发现漏洞莫贪心,伸手必被抓;小小负号,亦可造成千万元损失。无处不在的安全漏洞,需要广大互联网企业时刻注意,小心提防。
【被盗4900万,互联网巨头竟败给“小学生”】关注我们的微信公众号,持续为您解读《那些年,巨头犯下的低级错误》
被盗4900万,互联网巨头竟败给“小学生”
文章图片

    推荐阅读