昨天将来的某个自称副理还是谁的打给我,讨论这个问题的相关可能性,刚好我也
有一点点资讯底,大概跟他询问一下,他说他从后台来看,整个动作确实都是做了
两次,所以对系统来说,他就是两笔成功的转帐无误。
但我提出的质疑是,如果前端APP这边有误,送出了两笔request,是否在系统上
看起来就会呈现这样的状况呢?我认为合理的一个金融交易应该有session的建立
同一时间应该验证只能有一个session的建立,很显然将来在登入的机制上有做这
样的机制(两个装置同时登入时,前登入的装置会被踢除断线),但在转帐的这个
动作似乎就没有把这样的机制建立起来。而是单纯的app这边验证完后,就把reqeust
送去给他们后台系统了,所以只要后台系统收到两笔看似合理重复的request就会
转帐两笔金额出去。
希望将来能赶快把这个漏洞补起来了,反复的测试一下,大概抓到了bug的发动点
https://youtu.be/2tisdk2thAI
我依稀有一个印象是当时转帐的时候,刚好公司的teams对话跳出来,我点去看了
一下,跟我没关系就跳回原页面继续转帐了,果然看起来问题就是出在这个跳出
去的时间点,如果在启动双因子认证后,APP可能就会把整个转帐request送出去
,但如果刚好在这个时间点切换页面出去再回来后,APP会重新回到转帐流程,
对使用者来说看起来就像是刚刚的转帐没做完,很自然的就会在做一次双因子认
证,于是就出现这种短时间内,重复两笔相同内容的转帐出现了。
大家手贱无聊的,可以找自己的帐户玩看看,可能都会发生。
至于转出去的款项麻....银行那边的说法是不管怎样,都应该是要我这边去跟对
方银行申请协调,或直接跟收款人协调退款,他们没有立场代替使用者去讨这个
钱,即便我一直觉得你系统错误重复转帐,应该是你们去讨,怎么会是我去讨?
不过看起来银行端可能有他们去讨就等于承认他们系统出问题的这种概念吧,所
以即使他们要帮忙讨,也是要我写个委托书(意思是我要讨的不是他门讨的),他
们才能跟对方银行启动这个追回款项的流程这样,想一想自己去讨好像还是快一
点了,不想把事情搞到那么复杂,重点是想厘清到底是系统问题,还是我真的傻
了转了两次自己忘记了这样。
※ 引述《CloudJ ()》之铭言:
: 今天纪录跟对帐的时候发现6/20为什么会有一笔转出的款项转出两次,且时间一致
: (12:13),打电话去客服查询,客服回复是有两笔转帐资讯,分别时间在12:13:31,
: 另一笔在12:13:41。
: 第一,这个不是我常转出的帐号,是一个一个号码打的,能在这么短时间内打两次可能性
: 实在很低。
: 第二,我转帐还有打备注共四个中文字,整个流程,就算我把帐号背起来,都不见得有机
: 会在10秒内完成。
: 所以合理怀疑应该是系统错误重复转帐了,已跟客服联络,现在就看将来要怎么处理了
: ,毕竟钱已经转出去人家帐户了(对方当时也没对帐,只看我截图就觉得应该有转帐了)
: ,我自己当下是有看到转帐通知,但没想过会两笔重复,也没仔细看帐户记录,结果一
: 周后才发现我转出两笔,他收到两笔,未经对方同意直接在他帐户扣款好像也不合理,
: 但如果是将来系统出包重复转帐出去,要我自己去讨回也很奇怪,接下来就看将来要怎
: 么处理了。