某产品短信验证码缺陷的查找及利用

来源:互联网 发布:欠网络贷款不还怎么办 编辑:程序博客网 时间:2024/05/22 03:20

近期在对某手机app作安全测试,很好奇我每次如果不保存密码,登录它都要验证短信码,这跟微信的那种验证完全不一样啊,直觉告诉我这里面有问题,随即开始分析。

找到com/xxx/mobile/xxxx/ui/view/CheckedMsgActivity.java对应的smail代码:

method publiconKeyDown(ILandroid/view/KeyEvent;)Z

    .locals 1

 

    const/4 v0, 0x4

 

    if-eq p1, v0, :cond_0          #此处将if-ne修改为if-eq

 

    const/4 v0, 0x0

 

    :goto_0

    return v0

 

    :cond_0

    invoke-super {p0, p1, p2},Lcom/xxx/mobile/xxx/ui/view/SuperActivity;->onKeyDown(ILandroid/view/KeyEvent;)Z

 

    move-result v0

 

    goto :goto_0

.end method


机理分析:

if(p1 == 4)

           return v0;

else

           invoke-super(SuperActivity)

 

所以修改判定条件,不论短信输入正确与否,都跳转到SuperActivity。


其实这是设计逻辑上的问题,可以参考微信的设计:

1、若账号初次使用app,服务端记录此用户使用手机的IMEI

2、用户每次登录时,在服务端匹配IMEI和账号

3、若二者不匹配,认为用户换了手机在登录,则要求短信验证,验证通过后将新的IMEI号作为用户的匹配号。

4、重复以上步骤



0 0
原创粉丝点击