诈骗技术分析

2015-01-22 11:11:56 +08:00
 xiaohanqing
公司的同事昨晚被骗了900大洋,骗子通过电话加上qq然后发送一条诈骗链接,链接就不贴了,已经失效了,骗子新建了一张899元的订单,最后的一步输入短信验证码时,同事收到第一条验证码,注意到了验证短信上金额有问题,拒绝输入.但是骗后续又新建了一张订单,金额为0.1再次发送短信验证码,同事看见验证短信金额为0.1元觉得无所谓就输入了,接着就收到了扣费899的短信,据当事人回忆确定输入的是第二条短信中的验证码,我想不明白为什么第二条短信的验证码可以成功验证第一张订单,是不是银行那边不严格.求个位大牛分析一下~
短信截图如下:
?1
3912 次点击
所在节点    信息安全
12 条回复
yanwen
2015-01-22 11:13:47 +08:00
既然知道是骗子了。为什么要输入呢??
xiaohanqing
2015-01-22 11:14:50 +08:00
@yanwen 同事说看到0.01元的金额无所谓什么的
gs038538
2015-01-22 11:23:43 +08:00
延时了。
正常情况下,两次请求,第二次请求后第一次请求必须终止。
不正常的情况,第二次请求后,未生效,第一次继续有效。就是你同事发生的情况。

看起来是系统异常。
xiaohanqing
2015-01-22 11:34:22 +08:00
@gs038538 正常情况下不是一张订单对应一条短信验证码吗,就是失效短信里面的订单尾号也应该相同,可以看到第二条短信里面的订单尾号和第一条的不一样.另外实际被骗的金额恰好是两条短信里面的金额相加,这个有点奇怪.看截图
NewYear
2015-01-22 11:52:27 +08:00
别研究了,从这个情况看问题已经很明显了……

验证码是和登录会话相关联的,一般验证码都是这样的形式,如果刷新验证码,那么就以新的验证码为准。一个验证码只能验证一次,无论正确失败都马上让这个验证码失效。(一个登录会话只存在一个有效的验证码,各页面通用)

而涉及到订单的操作,很显然这个逻辑就错误了(正常情况我们都不会想到这个问题,所以这是一个逻辑上的bug)……因为2个单是同一个登录会话,就相当于下N个订单,验证码互相是通用的(最后出现的那个验证码才是有效的,之前的会销毁,正确的情况应该一个订单一个验证码)

最后的诈骗方法就很简单了,用第二个验证码去验证第一个订单,自然就成功了……

就像网站验证码一样,你试试就知道了,开3个窗口,输入最后出现的那个验证码,在哪个窗口都可以登录。

好了,上面点赞。
kingcos
2015-01-22 12:40:36 +08:00
同意楼上。。。
有时接验证码,手机没开机,开机以后第一条有时候会慢,所以就点重新发送,这时候输第二个和第一个都行吧。。。
不过有的网站两次发送会一样
xiaohanqing
2015-01-22 13:38:42 +08:00
@NewYear 不做成订单相关银行也应该有责任吧,做到和订单相关联安全性会提高不少.
cat9life
2015-01-22 13:48:00 +08:00
这个也算是逻辑bug了...
NewYear
2015-01-22 15:09:52 +08:00
@kingcos 从验证码设计的角度考虑,一般不会考虑多个验证码都能通过验证,为了防止暴力破解(或者随机值尝试)


@xiaohanqing 对,这是银行的问题,程序逻辑有错误,短信提示你是一毛钱的单,实际支付出去是几百块的单,说明这里太不严格了。
ryd994
2015-01-22 16:12:19 +08:00
你查查0.1元那个是不是预授权?
sampeng
2015-01-22 16:52:36 +08:00
讨论的重点难道不是。。看到899了。第一直觉是有问题,打电话改密码,打电话到银联。。。
为毛再来一个0.01还觉得无所谓= =!
1分钱不是钱啊?全国人民给我1分钱,秒秒钟辞职回家养老啊。
lhj2100
2015-01-22 21:24:03 +08:00
你的同事自以为一个验证码管一个订单
输入第二个验证码就是验证第二个订单

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/164409

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX