本人在挖掘漏洞的过程中,遇到的逻辑漏洞还是比较多的,其中就有不少短信轰炸漏洞。今天就以我挖掘到的一些短信轰炸漏洞为例子,主要是分享一些思路,还请大佬们多多包涵。由于实际到真实厂商,对一些敏感信息进行了打码,大家伙看看思路即可。
短信轰炸漏洞,顾名思义就是可以无限制地发送短信,原理由于短信业务逻辑设计缺陷,没对短信发送次数做限制,导致可以大量重复发送短信验证码。该漏洞会对其他用户造成骚扰或使厂商的运营商短信费用的增加,造成损失。
免费领取学习资料2021年全套网络安全资料包及最新面试题
(渗透工具,环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)
此类漏洞还是比较好入手,而且出现频率还是较高的,挖一挖交到盒子上还是不错的,在一些演习甚至能归类到中危。
挖掘利用
漏洞常发生在登录、注册等一些需要发生短信验证码的地方
一般情况下,点击发送后会有一定时间间隔,之后才能继续发送
在BurpSuite设置代理,抓取发送短信的数据包到Repeater器中,重复点击Go,可以一直发送数据包,则说明短信轰炸漏洞存在
手机短时间内收到了大量短信
绕过手法
上面演示的就是最基本的漏洞形式,但更多情况下,服务器会采取一些防护手段来限制你发送次数,但一些防护不严格的话还是绕过的,下面我就分享一些案例来说一下一些绕过手法
-
修改Cookie值绕过
下面演示实际挖掘过的一些真实网站,该网站一开始发送验证码是可以成功发送的,状态码为1
发送多次后,发现被限制发送次数了,状态码为0发送失败,但可以发现服务器返回了一个Cookie,猜测是根据Cookie值对发送者进行限制
删掉Cookie值后,发现能继续发送,成功绕过了防护,一些情况下不能直接删除Cookie值,要根据情况进行修改
-
修改IP值绕过
与上面修改Cookie值类似,有些服务器也会通过IP进行限制,特征使用了XXF头
如下面这个例子一样,该网站正常发送验证码,返回包信息为success|success
多次发送后,返回error,但发现存在XXF头,下面尝试修改XXF头进行绕过
随便修改个其他的IP,发现又可以继续发送了,绕过检测IP防护
全部发送成功,发送了大量短信,短信轰炸漏洞存在
-
修改返回值绕过
某网站成功发送验证码抓包如下,返回值为0
尝试多次发送失败,返回值为9
在BP中抓取响应包,尝试修改返回值进行绕过
抓取到的返回包
将返回信息替换为正确的,并点击Forward发送
成功在短时间内接受到多条短信
-
尝试添加其他字符绕过
对一些根据相同手机号进行过滤的情况下,然后尝试添加一些字符在后面试试看是否能绕过
-
多次叠加参数绕过
这种情况比较少见,但也可以试一试。叠加多个参数,看能否发送多条短信验证码
结尾
最后短信轰炸比较好的修复方式还是添加文字验证码,并且随着每次发送而刷新
以上就是我碰到的一些关于短信轰炸漏洞的情况,仅以个人拙见论述,大佬们见笑了。希望大家可以从中学习到一些挖掘漏洞的思路。