APP测试之找回密码
来源:互联网 发布:浙江大学软件学院面试 编辑:程序博客网 时间:2024/05/16 17:41
在移动互联时代,每个人的智能手机上都安装了各种各样的APP,那我们在使用这些APP的时候都会用到找回密码这个功能,这个功能极大的方便了用户,但是如果这个功能没有做好,或者对于测试工程师来说,如果没有对这个功能测试好,也会造成一些严重的后果,比如,任意用户密码重置,用户数据泄露等一系列安全问题。这个看起来很简单的功能,却被开发工程师挖了很多坑,我们一不小心就会掉下去。下面我们就一起探讨一下,APP找回密码这一功能中的那些坑。
APP端的手机找回密码流程通常如下:输入手机号-获取短信验证码-设置密码
如下图:
坑1:验证码没有和手机号绑定
测试过程:找回密码时,输入自己的手机号点获取验证码,此时验证码会发到自己手机上,输入获取到的验证码,这个时候再修改手机号为B(B也是注册用户),点下一步进行设置密码。查看是否可以重置成功。实际测试过程中,某些APP竟然可以重置成功。也就是说用自己的手机获取的验证码,重置了用户B的密码。这个坑是个明显的逻辑漏洞,很明显程序并没有把验证码和手机号进行绑定,只要验证码是合法的,就可以重置任意用户的密码,一个小小的逻辑错误,导致了一个严重的后果,如果做为测试人员,没有测试出这样的问题,在市场上让用户反馈回来,是否会追究我们的责任,这还得看老板的心情。感觉这样的开发人员一定和测试有仇,要不怎么会挖个这样的坑。
坑2:短信验证码出现在返回的数据包中
大家都知道,一般我们APP客户端和服务器交互走的都是HTTP或者HTTPS协议。对于HTTP协议来说,我向服务器发送一条请求信息,那服务器必返回一条响应信息。而发送给用户的验证码,竟然也在服务器返回的数据包中。那意味着任何人都可以获取到这个验证码,有了验证码就可以重置密码。此时验证码形同虚设,重置别人的密码变得如此简单,你怕不怕?
测试过程:这个测试过程要借助抓包工具,这样的工具很多,大家可以随意选择。我这里用的是Fiddler ,首先设置手机代理上网,手机网络应和电脑处于同一个WIFI下面,代理端口设置成和Fiddler上和端口一致。具体设置教程可自行网上搜索,设置好后,启动APP,进行抓包。
... ...
转自:http://www.51testing.com/html/65/n-3704165.html
APP端的手机找回密码流程通常如下:输入手机号-获取短信验证码-设置密码
如下图:
坑1:验证码没有和手机号绑定
测试过程:找回密码时,输入自己的手机号点获取验证码,此时验证码会发到自己手机上,输入获取到的验证码,这个时候再修改手机号为B(B也是注册用户),点下一步进行设置密码。查看是否可以重置成功。实际测试过程中,某些APP竟然可以重置成功。也就是说用自己的手机获取的验证码,重置了用户B的密码。这个坑是个明显的逻辑漏洞,很明显程序并没有把验证码和手机号进行绑定,只要验证码是合法的,就可以重置任意用户的密码,一个小小的逻辑错误,导致了一个严重的后果,如果做为测试人员,没有测试出这样的问题,在市场上让用户反馈回来,是否会追究我们的责任,这还得看老板的心情。感觉这样的开发人员一定和测试有仇,要不怎么会挖个这样的坑。
坑2:短信验证码出现在返回的数据包中
大家都知道,一般我们APP客户端和服务器交互走的都是HTTP或者HTTPS协议。对于HTTP协议来说,我向服务器发送一条请求信息,那服务器必返回一条响应信息。而发送给用户的验证码,竟然也在服务器返回的数据包中。那意味着任何人都可以获取到这个验证码,有了验证码就可以重置密码。此时验证码形同虚设,重置别人的密码变得如此简单,你怕不怕?
测试过程:这个测试过程要借助抓包工具,这样的工具很多,大家可以随意选择。我这里用的是Fiddler ,首先设置手机代理上网,手机网络应和电脑处于同一个WIFI下面,代理端口设置成和Fiddler上和端口一致。具体设置教程可自行网上搜索,设置好后,启动APP,进行抓包。
... ...
转自:http://www.51testing.com/html/65/n-3704165.html
0 0
- APP测试之找回密码
- APP测试之找回密码
- 登录之找回密码
- angularjs之找回密码
- Web实战之密码找回
- 找回密码 之发送邮件 接口
- Django站点之找回密码功能
- 登录之找回密码-java发送邮件
- 密码找回
- 找回密码
- 密码找回
- 找回密码
- 找回了Blog的用户名和密码,赶紧测试一下
- 移动APP功能测试之登录、注册、忘记密码测试要点
- 第9章 完善之个人中心、密码找回功能
- Java进阶之Jsp找回密码知识点总结
- Android之找回打包key密码的方法
- php学习之mysql(一)找回root密码
- 整理:如何看linux是32位还是64位
- dedecms 织梦学习笔记- css篇
- uva 11796 几何模拟
- weblogic10.3_反序列漏洞_补丁过程
- 关于CSS居中显示的总结
- APP测试之找回密码
- Android APP如何防止二次打包
- java小游戏第二弹 打地鼠
- Webrtc服务器搭建
- 2820: YY的GCD 莫比乌斯反演
- Windows下配置Nginx和PHP7
- 机器学习实战-逻辑回归
- Matlab中图像梯度的计算方式
- BZOJ3670 NOI2014 动物园 题解&代码