常见漏洞
短信发送接口平台未设置上限或时间间隔,攻击者利用发送短信的接口,短时间内发送大量垃圾短信给指定手机号码。使用抓包软件可以重放请求对于后端没有做限制的网站即可达到短信轰炸的效果。
漏洞预防
主要是针对单用户的短信轰炸,即重放发送请求且phonenum为一个值。
①设置发送间隔,即单一用户发送请求后,与下次发送请求时间需要间隔60秒。
②设置单用户发送上限,即设置每个用户单位时间内发送短信数的上限,如果超过阈值就不允许今天再次调用短信接口(阈值根据业务情况设置)。
漏洞实例:http://bobao.360.cn/snapshot/index?id=12764
二、无效验证
有验证码模块,但验证模块与业务功能没有关联性,此为无效验证,一般在新上线的系统中比较常见。
1. 获取短信验证码后,随意输入验证码,直接输入两次密码,可成功更改用户密码,没有对短信验证码进行验证,可能导致CSRF等问题。
2.任意用户注册
第一步,利用自己的手机号接收验证码进行验证,下一步跳转到一个设定密码的页面
第二步,抓包,篡改手机号,使用任意手机号进行注册
问题剖析:业务一致性存在安全隐患,身份验证与密码修改过程分开,验证无效。
3. 任意手机号码绑定
第一步,按照正常程序进行注册,注册成功之后,在个人资料中修改绑定手机号码。
第二步,抓包,修改绑定手机号码,新手机号任意填写,获取短信验证码后,输入任意验证码,绑定任意手机号码。
三、客户端验证绕过
四、验证码与手机号未绑定
一般来说短信验证码仅能使用一次,验证码和手机号未绑定,验证码一段时期内有效,那么就可能出现如下情况:
1、A手机的验证码,B可以拿来用;
2、A手机在一定时间间隔内接到两个验证码,都可以用。
测试步骤:
第一步:使用自己手机号收取验证码
第二步:将自己的验证码和对方的手机号填上,下一步设置新密码
五、验证码爆破
短信验证码一般由4位或6位数字组成,若服务端未对验证时间、次数进行限制,则存在被爆破的可能。
欢迎加入我们,临时安全团队!!!
来源:freebuf.com 2018-07-05 12:14:36 by: 12306Br0
请登录后发表评论
注册