APP测试之找回密码

上一篇 / 下一篇  2016-12-13 17:11:04 / 个人分类:APP 测试

移动互联时代,每个人的智能手机上都安装了各种各样的APP,那我们在使用这些APP的时候都会用到找回密码这个功能,这个功能极大的方便了用户,但是如果这个功能没有做好,或者对于测试工程师来说,如果没有对这个功能测试好,也会造成一些严重的后果,比如,任意用户密码重置,用户数据泄露等一系列安全问题。这个看起来很简单的功能,却被开发工程师挖了很多坑,我们一不小心就会掉下去。下面我们就一起探讨一下,APP找回密码这一功能中的那些坑。
  APP端的手机找回密码流程通常如下:输入手机号-获取短信验证码-设置密码
  如下图:
  图1:
  图2:
  坑1:验证码没有和手机号绑定
  测试过程:找回密码时,输入自己的手机号点获取验证码,此时验证码会发到自己手机上,输入获取到的验证码,这个时候再修改手机号为B(B也是注册用户),点下一步进行设置密码。查看是否可以重置成功。实际测试过程中,某些APP竟然可以重置成功。也就是说用自己的手机获取的验证码,重置了用户B的密码。这个坑是个明显的逻辑漏洞,很明显程序并没有把验证码和手机号进行绑定,只要验证码是合法的,就可以重置任意用户的密码,一个小小的逻辑错误,导致了一个严重的后果,如果做为测试人员,没有测试出这样的问题,在市场上让用户反馈回来,是否会追究我们的责任,这还得看老板的心情。感觉这样的开发人员一定和测试有仇,要不怎么会挖个这样的坑。
  坑2:短信验证码出现在返回的数据包中
  大家都知道,一般我们APP客户端和服务器交互走的都是HTTP或者HTTPS协议。对于HTTP协议来说,我向服务器发送一条请求信息,那服务器必返回一条响应信息。而发送给用户的验证码,竟然也在服务器返回的数据包中。那意味着任何人都可以获取到这个验证码,有了验证码就可以重置密码。此时验证码形同虚设,重置别人的密码变得如此简单,你怕不怕?
  测试过程:这个测试过程要借助抓包工具,这样的工具很多,大家可以随意选择。我这里用的是Fiddler ,首先设置手机代理上网,手机网络应和电脑处于同一个WIFI下面,代理端口设置成和Fiddler上和端口一致。具体设置教程可自行网上搜索,设置好后,启动APP,进行抓包。

TAG: 找回密码

 

评分:0

我来说两句

Open Toolbar