1 日,7-Eleven 日本公司开始提供通过智能手机条形码来购物的支付服务“ 7pay ”,但刚运营三天,该服务就出现问题。4 日,该公司召开紧急记者会,宣布可能有 900 名用户的手机被盗刷,累计金额达 5500 万日元(约人民币 350 万),该公司社长公开道歉,承诺将全额补偿被盗刷的用户。目前,7pay 的充值和新用户注册服务均已停止。
被盗刷的原因是这样的
1.这个系统用邮箱作为账号
2.找回密码只需要使用「生日」
3.生日可以不填,默认为 2019 年 1 月 1 日
4.找回密码时,填错后,没有次数限制
5.找回的密码,可以单独填写一个邮箱接收
只要拿邮箱,用 2019 年 1 月 1 日当生日,找回密码,总有人不改生日,于是就可以改密码了
问题是即使碰撞了邮箱和生日也没那么容易破解用户的邮箱拿到重置邮件啊,好奇一下搜了一下,原来自己关注的推友已经转发了解释,看了让人瞠目结舌:
https://twitter.com/o_lll/status/1146616043181187072
7pay 重置密码时可以选择登录邮箱以外的邮箱接收密码重置链接,也就是只要知道邮箱电话和生日,这个账号就是你的了
另外密码要求是半角小写字母加数字,并且据称重试次数无限制
711 迅速的用 display:none 的方式修复了可以发送密码重置链接去第三方邮箱的 bug #日本 IT 令人堪忧
被隐藏的 field 里填了别的邮箱依旧可以收到密码重置 token,7pay 这事儿可以写进教科书了
然后还有后续精彩:
记者会上
记者问:“为什么 7pay 没有二次验证?”
社长答:“二次验证是什么?”
快要笑到窒息了…
不过不好的是,后来逮捕了两位嫌疑人,中国籍。
101
ladychili 2019-07-05 21:38:59 +08:00
这锅难道不应该是产品设计 /经理的吗?程序员接了需求只管实现就好了。
|
102
7r0y 2019-07-05 21:57:01 +08:00
结果关注点都变成逻辑漏洞了吗?
|
105
russian 2019-07-06 16:52:48 +08:00
@FrankHB 大哥,那是控制器函数,是直接跑在硬件上的,几百行的函数怎么写单元测试你说说。。。如果你明白我在说什么的话。
上万个全局变量就太扯了。。。 |
107
FrankHB 2019-07-06 17:31:48 +08:00
@nanau2016 Matz ?看着真的挺菜的啊……不菜抄个 Dylan 程度的出来也算了,特么搞个什么不伦不类的辣鸡……
看看 www.atalon.cz/rb-om/ruby-object-model,能塞那么大坨意味不明的冗余破烂,人干事? 当然,比自大的 GvR 可能好那么点吧。 不过说到底,那是 CS 菜,不能直接栽赃到 IT 上去。 |
108
russian 2019-07-06 17:40:12 +08:00
@FrankHB 动力控制系统也是直接跑在车上的啊,几百行的函数相当于这部分根本就没有合格的单元测试。也就是说这个软件根本没测试过。。。
|
109
idcspy 2019-07-06 20:19:26 +08:00
日本总体来讲社会活力下降了,不是好事。
|