前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >SRC低危捡漏之短信轰炸

SRC低危捡漏之短信轰炸

作者头像
OneTS安全团队
发布2025-02-07 15:39:53
发布2025-02-07 15:39:53
13100
代码可运行
举报
文章被收录于专栏:OneTS安全团队
运行总次数:0
代码可运行

声明

本文属于OneTS安全团队成员Asoul的原创文章,转载请声明出处!本文章仅用于学习交流使用,因利用此文信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,OneTS安全团队及文章作者不为此承担任何责任。

验证码轰炸

方法

两种情况,一种是用Burpsuite的重放模块,另一种是并发

并发不是重放,在渗透测试或SRC挖掘中你是否通过burpsuite的intruer模块来进行测试并发漏洞呢?

首先要理解一下并发的概念,同一个资源,被多个人想要使用的问题,然而burpsuite的intruder模块无论你将线程数调到多高都不是并发,他是一个一个相同的数据包访问同一个资源。

并发是10个相同的数据包同时访问一个资源。举例:余额只有500,结果提现到账3000,使用了并发漏洞同时发送了多个提现请求。

总结一句话:万物皆可并发。

Burpsuite的重放模块

直接抓包后使用repeater模块即可。

并发

过程

工具:TurboIntruder是一个用于发送大量HTTP请求并会分析其结果BurpSuite插件,也是我目前知道能够测试并发漏洞的插件。

可以在burpsuite官方插件商店中直接安装或github下载导入。

GitHub地址为:

https://github.com/PortSwigger/turbo-intruder/

这款插件的使用也很简单,找到想要并发的数据右键选择并发插件。

这将打开一个包含你请求的窗口和一个Python代码段如下所示:

我们可以在上方添加%s为我们要进行fuzz的内容(如果没有参数需求,%s可以加在任意位置)

并发测试一般选择race.py脚本,这里执行30次

concurrentConnections=30 并发连接数, 默认就好

requestsPerConnection=100 并发连接请求数

成功,下方可以看RPS

race.py可以用来小型并发测试

如果想要爆破,可以用以下脚本:

代码语言:javascript
代码运行次数:0
复制
from itertools import product

def brute_veify_code(target, engine, length):
    pattern = '1234567890'  #用于生成字典的迭代对像
for i in list(product(pattern, repeat=length)):  #product()接收多个迭代对像,然后生成一个笛卡尔积,repeat参数代表重复迭代对象次数。
    code =  ''.join(i)
engine.queue(target.req, code)

def queueRequests(target, wordlists):
    engine = RequestEngine(endpoint=target.endpoint,    #指定目标的地址
                           concurrentConnections=30,  #与服务器建立30条连接
                           requestsPerConnection=100,  #每条连接同时发送100个请求
                           pipeline=True  #开启管道(HTTP Pipelining)模式
                          )
brute_veify_code(target, engine, 6)#这里数字代表爆破几位,这里代表爆破6位

def handleResponse(req, interesting):

    if 'error' not in req.response:  #对response进行操作,不含有“error”的添加入表中
        table.add(req)

Tips

有时候经常会遇到http版本不支持,这是因为爆破时使用了http2,我们用http1.1即可

绕过

当遇到验证码做了限制,无法完成轰炸效果的时候,可以利用这些特殊的方法进行绕过:

①在前方后面加%86、%00、加空格、+86、0086、86、086、0、/r,/n

②进行能解析编码,如url编码

比如我的号码是17699999999,我把17 url 编码为%31%37699999999 就可以发送短信到我的手机号上面来。

按照这个思路我把176 编码也是可以的、把1769编码也是可以的、把电话号第一位和电话号第三位url 编码也是可以的。

就可以无限制发送短信到我的手机号上,当然也可以轰炸别人。

③加垃圾字符

在前面或者后面加abcd

④Key积累

有的站是通过图片验证码识别,返回一个key,然后请求phone参数时,把key带上,每个key是一次性的,然后用户收到短信。如果手动对多个验证码进行识别,且key不失效,就可以累积起来一起发送。

⑤ 双写绕过

但是这里双写不是为了两个手机号收到同一条短信,而是为了能够继续发送验证码。

例如:

使用phone=1&phone=1绕过、phone=1,1绕过等思路

⑥接口调用

比如这样的参数:

terminal=01&Mobile=XXXXXXX,前面的接口是调用短信发送内容的接口,比如terminal参数值为01是调用注册成功的短信提示,02是调用密码重置成功的短信提示,03是调用注册成功的短信提示等等,当修改这个接口值时,也就达到了短信轰炸或邮箱轰炸的目的。

⑦ 修改ip绕过

有些同样是验证当前IP的,如果当前ip短时间内获取短信或者邮件达到一定次数就会限制,那么就可以修改ip或者使用代理ip来轰炸

⑧利用大小写绕过邮箱轰炸限制

比如参数是这样的:Email=XXX@qq.com当次数达到限制时,随便修改一个字母大写:Email=XXX@Qq.com可绕过限制

⑨修改返回值绕过短信&邮箱轰炸限制

如果是前端验证后发送验证码,就可以通过修改返回值

⑩ XFF进行ip伪造

X-Forwarded-For:127.0.0.1

再被限制改为127.0.0.2

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OneTS安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档