收取短信验证码测试攻略?

现在的APP,很多都需要登录注册,而注册一般要验证手机号码,就会发短信验证码,类似一个下面功能,我们会怎么考虑进行测试?

收取短信验证码测试攻略?

首先确定页面有哪些元素,并且明确功能、测试点等,点击手机号获取验证码是用来做什么的。首先明确和细化需求,(明确功能)验证码是手机下发的验证码,还是图片验证码等。

在明确功能后先冒烟测试或通过性测试,测试功能正常使用后,再进行非通过性(异常)测试。

1、先进行通过性测试

输入正确的手机号码,点击获取验证码,查看手机是否收到短信。

收到短信后输入验证码:若为登录功能,还应检查是否进行页面跳转,是否正确进行登录,是否可操作登录后应操作的项;若功能为注册,则应查看是否注册成功,去数据库检查数据的正确性。
通常手机号验证的规则为: /^1d{10}$/,以1开始后面的10位正则,覆盖移动、联通、电信。当然,做的更好的校验还有号段检查,比如120xxx手机号就是非法的。

2、为空测试
①不输入手机号,不输入验证码 直接点击登录或注册等功能点 ,提示不能为空;
②不输入手机号,只输入验证码 直接点击登录或注册等功能点 ,提示不能为空; 
③输入手机号码,不输入验证码 直接点击登录或注册等功能点  ,提示不能为空;

3、输错手机号码错误测试
①输入汉字、小数,字符串,空格及组合在手机号码文本框中,提示手机号码不正确;
②输入10位,12位数字进行登录,提示手机号码不正确,提示手机号码不正确;
③输入11位非手机号码(号段校验)进行获取验证码,提示手机号码不正确;

4、验证码
①输入错误的验证码(多输、少输,不输以及非收到的正确验证码),提示请输入正确的验证码;
②明确验证码的失效时长后,在时长之后输入输入码,提示该验证码已失效,请重新获取验证码;
③倒计时60s内,不能再次点击获取验证码;
④倒计时开始时,进行下一步操作时,返回后,倒计时应该还是接着倒计时。如操作时50s,经过4s后返回,应该是46s。

5、常见漏洞
①无效验证:有验证码模块,但验证模块与业务功能没有关联性,此为无效验证,一般在新上线的系统中比较常见。
 
情况一,获取短信验证码后,随意输入验证码,直接输入两次密码,可成功更改用户密码,没有对短信验证码进行验证,可能导致CSRF等问题。
情况二,任意用户注册
第一步,利用自己的手机号接收验证码进行验证,下一步跳转到一个设定密码的页面。
第二步,抓包,篡改手机号,使用任意手机号进行注册。
问题剖析:业务一致性存在安全隐患,身份验证与密码修改过程分开,验证无效。

②客户端验证绕过:客户端验证是不安全的,可能导致任意账号注册、登录及重置任意用户密码等一系列问题。

情况一,直接返回明文验证码
点击获取收集验证码,监听到两条json数据,可以发现验证码就藏在ticket里面,输入即可登陆成功。

情况二,返回密文验证码
验证加密后返回客户端,用户解密即可获取验证码。

情况三,拦截替换返回包
第一步,使用正常账号修改密码,获取验证码通过时服务器返回数据,保存该信息;
第二步,使用fiddler下断,之后点击确定,服务器会返回验证码错误之类的信息,使用{"MessageHeader":{"MessageID":"RSP036","ErrorCode":"S000","Description":"成功!"}}此信息进行替换后再执行,密码修改成功。
问题剖析:常见于APP等客户端软件,通过拦截替换返回信息,绕过客户端本地验证。

③短信轰炸

短信轰炸是手机验证码漏洞中最常见的一种漏洞类型。
在测试的过程中,对短信验证码接口进行重放,导致大量发送恶意短信。

情况一,无限制,任意下发

情况二,有一定时间间隔,无限下发
每隔60秒可下发一条短信,无限下发,短信轰炸。在测试过程中,可通过编写Python脚本来计算短信下发时间间隔,实现短信轰炸。

④验证码爆破情况:短信验证码一般由4位或6位数字组成,若服务端未对验证时间、次数进行限制,则存在被爆破的可能。
输入手机号获取验证码,输入任意短信验证码,发起请求,抓包,将短信验证码字段设置成payloads取值范围为000000-999999进行暴力破解,根据返回响应包长度判断是否爆破成功。一般使用的工具burpsuite。

⑤验证码与手机未绑定。

6、如何防止手机验证码被爆破,架构的方面提出要求:如3小时被人刷了千条

①前端app,从界面方面限制请求的次数(60s获取一次),也就是按钮的事件;禁用代理调用接口,增加图形验证码或者附加码正确了再发送措施。

②后台接口:参数做限制,设备id、mac、ip做限制。例如60s内 相同的设备id、mac、ip过滤请求;参数加密;添加https认证,客户端和后台成证书,防止抓包获取接口情况;后台做认证操作:限制在app上获取,协定和app之间认证算法。app传递公钥,后端进行认证筛选等过滤。

留言

最新文章

  • 面试题:APP和小程序测试的异同点?面试题:APP和小程序测试的异同点? 2024/04/02 326
  • 银行系统线上因性能瓶颈出现崩溃问题怎么办?银行系统线上因性能瓶颈出现崩溃问题怎么办? 2024/03/29 287
  • 常见性能瓶颈定位分析常见性能瓶颈定位分析 2024/03/26 410
  • 软件测试行业:是黄昏余晖还是新日破晓?软件测试行业:是黄昏余晖还是新日破晓? 2024/03/21 391
  • 面试如何应对空窗期的灵魂拷问?面试如何应对空窗期的灵魂拷问? 2024/03/14 390
  • 5年测试人对测试之路的思考5年测试人对测试之路的思考 2024/03/13 385
  • 为何放任测试媛被卷跑的团队难以长远?七个深刻理由揭示真相!为何放任测试媛被卷跑的团队难以长远?七个深刻理由揭示真相! 2024/03/08 347
  • 十年测试经验之谈:如何做好测试开发的工作?十年测试经验之谈:如何做好测试开发的工作? 2024/03/07 429
特惠进行时,2核4G2M 服务器99元 1年
软件测试部落长期寻求商业合作

聚圣源起名字男孩2020免费笔记本屏幕亮度寄生灵深沉的意思世界杯美国vs葡萄牙女孩子五行起名时尚女装门店起名何兆武餐具品牌名字起名祥字辈起名女孩牛年女宝宝起名字大全一条狗的使命百度网盘起名软件免费版哪个好鸡爪起名字招牌给女宝宝起的乳名诗经楚辞起名字开烧烤店起个名字大全如何给软件起名取名起名商标名狗宝宝起名宜用字左右豪字起名男孩名起个建筑公司起什么名字好起宝宝起名网站心平气和的意思清末枭雄商品房过户费巴比豆整店装修奇怪的反义词韬光养晦的意思cctv5电视淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化