V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaohanqing
V2EX  ›  信息安全

诈骗技术分析

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

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

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

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

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

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

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


    @xiaohanqing 对,这是银行的问题,程序逻辑有错误,短信提示你是一毛钱的单,实际支付出去是几百块的单,说明这里太不严格了。
    ryd994
        10
    ryd994  
       2015-01-22 16:12:19 +08:00
    你查查0.1元那个是不是预授权?
    sampeng
        11
    sampeng  
       2015-01-22 16:52:36 +08:00
    讨论的重点难道不是。。看到899了。第一直觉是有问题,打电话改密码,打电话到银联。。。
    为毛再来一个0.01还觉得无所谓= =!
    1分钱不是钱啊?全国人民给我1分钱,秒秒钟辞职回家养老啊。
    lhj2100
        12
    lhj2100  
       2015-01-22 21:24:03 +08:00
    你的同事自以为一个验证码管一个订单
    输入第二个验证码就是验证第二个订单
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3215 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.