作者名:Demo不是emo
主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷 座右铭:不要让时代的悲哀成为你的悲哀 专研方向:网络安全,数据结构
每日emo:误打误撞的喜欢,没想到爱意这么浓烈
目录
在逻辑漏洞中短信轰炸和邮箱轰炸是比较常见的一类漏洞了,邮件轰炸相对短信轰炸来说危害较小,因为发送短信一般都是按条收费的,一旦有了存在短信轰炸漏洞,就可以无限制地调用接口发送短信,对企业造成经济损失,对普通用户来说手机短信也比邮箱的普及高。
那么这些问题都存在在哪些方面呢?
- 登陆处
- 注册处
- 找回密码处
- 绑定处
- 活动领取处
- 反馈处
1.利用登录处短信轰炸
一些网站支持手机动态验证码登录,如果没有网站验证码的话,通过抓包批量发送很有可能造成轰炸,如果有网站验证码的话,需要测试验证码是否可以绕过。
2.利用注册处&找回密码处
在注册和找回密码处,往往都需要验证码,如果没有加以验证码以及其它的限制的话,有可能会造成轰炸问题。
3.利用修改处
在个人管理界面修改手机号或者修改邮箱的时候都需要验证码,如果此时这里处理不当,也可造成轰炸问题。
4.利用反馈处
在反馈处或者投诉处,手机号或者邮箱都是自定义,一般这些反馈功能都不会验证提交次数,那么可以进行批量的提交,而手机号或邮箱可以指定需要轰炸的对象,当后台审核后就会进行短信或者邮箱通知,此时当你提交多少次就会通知多少次。
5.利用活动页面
一些活动或者刚上线的广告,可以领取某某东西,要求获取手机验证码进行领取,重复发送一个手机号造成轰炸。
1.修改Cookie值绕过
当后端是验证当前cookie而不是验证手机号/邮箱来判断次数时,很容易造成绕过,直接修改cookie便可以重复对手机/邮箱无限制发送轰炸。
2.修改IP绕过
有些网站是验证当前IP的,如果当前IP短时间内获取短信或邮件频繁或者达到一定次数的话就会出现限制,那么久可以利用修改x-forwarded-for、client-ip头,或者使用代理池来绕过。
3.抓包重放绕过限制
有些网站只是前端验证,当点击发送按钮后javascript使发送验证码按钮不可点击,但是后端并没有做验证,这样只学需要抓包重放就可以绕过。
4.利用空格绕过
当一个号码发送次数被限制后,在号码前面加上空格,这样后端会识别成其他的号码,但实际上是给同一个号码发送的短信(不一定是空格,可fuzz其他字符)。
在google上intext:发送验证码(类似的关键字),有xx站点在注册处都可以发送短信和邮件
经过测试是前端验证的,通过读js代码找到发送的接口,newMobile参数可以是手机号和邮箱号,写脚本重复发送即可短信/邮件炸弹,效果如下
(这玩意真不敢漏多了,过不了审,所以码的很严重,希望理解一下)
防御此类逻辑漏洞的方法
设置验证码在发送短信/邮件处,确定是人为点击发送操作
设置时间判断,比如60秒内限制发一条
设置一个手机号/邮箱每天发送次数的上限