本文深入分析了106短信管理平台的运行机制、破解验证码和手机短信验证码的原理、以及保护手机短信验证码的风险和如何处理手机短信验证码带来的一些问题。
验证码加密发送
1、在APP中点击发送验证码,向后台发送一个发送验证码请求;
2、后台收到请求,生成一个验证码A,并反编译成短信验证码A‘;
3、请求短信服务商发送短信验证码A’至用户手机,同时存储验证码A至后台数据库中
验证码解密验证
1、用户收到短信验证码A’,填写至APP中,点击注册,向后台发送验证验证码请求并提交短信验证码;
2、后台收到请求后后反编译短信验证码A‘,验证反编译之后的结果是否是验证码A,是则验证码成功,此次用户注册申请成功,否则验证失败,反馈给APP,此次注册申请不成功。
1、暴力破解短信验证码A’
假设短信验证码A’只有四位,暴力破解只需要模拟调取接口10000次就能够把短信验证码A‘破解出来。假设调取一次接口耗时0.1秒,那么1000秒就能够成功破解验证码A’,即只有短短的1000/60=16.67分钟。
2、暴力破解验证码A
截取数据库的数据包拿到验证码A,对验证码A执行暴力破解,反推出短信验证码A‘,相比直接暴力破解短信验证码A’,时间会有点长,但可以减少验证次数。
当黑客发现某个未加防护的短信发送接口后,按照某个手机号码列表,循环发送短信验证码,不断变换ip地址,如果我们没有做任何限制的话,会存在两个方面的风险:
1、公司可能损失数以万计甚至更高的短信费用,发送验证码是需要向运营商付费,如果发出的短信大多数都是没有用的话,用户注册量越大资金支出越大,将让公司在这一块遭受不必要的损失;
2、流量攻击,用户无法登陆、注册;大批量的请求发送验证码,会导致访问流量大增,有可能使得发送验证码的数据接口瘫痪,用户无法继续使用该功能(造成用户无法登陆、注册),必定会收到用户的投诉,公司形象也会受损
为了防止黑客恶意刷取目标网站短信验证码,使用对短信发送次数、短信发送时间间隔进行限制以及发送之前增加动态验证。
手机号获取短信验证码次数限制是其中一种防攻击策略,不过在设计这方面内容时,需要根据自己公司的业务情况具体制定的。
1、根据业务需要,短信验证码发送次数设置的上限为多少合适?单次短信验证码填写错误的次数?
2、一般超过这个上限,我们需要锁定用户手机号多长时间?6小时,12小时,还是24小时?
3、锁定用户手机号后,我们可以为用户提供的后续方案是什么?需不需要提示对方,让他打电话给客服,自己主动申请解锁?走邮箱的验证方式、增加语音验证码也是一种可行的解决方案。
1、设置短信发送时间间隔是其中的一种防攻击策略,为了防止用户重复获取验证码,一般设置60s左右的间隔获取时间,但验证码的有效期一般是5-30分钟不等。一般来说,5分钟有效的都是4位验证码,30分钟有效的都是6位验证码。不过这方面手段不能防止黑客更换手机号进行攻击,防护等级较低。
2、发送验证码之前需要填写一次验证码,不过此种传统的方式利用机器学习的知识很容易破解。另外可以增加滑块拼图这种需要人为干预的动态验证。
最后就是短信营销看似很简单的一件事,很多人觉得就是简单的短信群发,但也就有很多人说短信群发没有效果,其实短信营销最主要需要注意的是营销二字。万商超信(www.vip106.net)短信平台--我们只专注于高品质商务短信平台,我们郑重承诺:先使用后付款,按发送成功付费,发送失败不收1分钱,全国免费400电话:400-688-9229。
Copyright 2007-2020 创胜短信短信群发平台 All rights reserved.备案号:赣B--20090026-8 | 赣公网安备: 36011102000044号 |网站地图 |地区短信