BurpSuite重放发包的一些区别

目录

  • [Send Group in parallel](#Send Group in parallel)
  • [Single connection 和 Separate connections 的差别](#Single connection 和 Separate connections 的差别)
  • 实际应用场景
  • Reference

2022年之后,Burp多了几种种类的发包格式,值得研究一下。

Sending over a single connection is useful for timing-based attacks that rely on being able to compare responses with very small differences in timings, as it reduces the "jitter" that can occur when establishing TCP connections.
Sending over separate connections is primarily useful when testing for vulnerabilities that require a multi-step sequence to be performed.

Send Group in parallel

这个没什么好说的,看名知意,就是 并发 发送。

Single connection 和 Separate connections 的差别

这两者之间的差别需要看看,

先阐述一下网络上的差异,使用这两种发包的时候,都需要建立一个Group组,一般来说一个组内是有多个请求包的,

网络连接上的差别:

  • Single connection - 下文用单次连接代替,
  • Separate connections - 下文用分别连接代替;

单次连接 是为了减少网络抖动 而设计的,减少抖动(Jitter)

  • 当通过单一TCP连接发送请求时,所有请求共享同一个已建立的连接。

  • TCP连接建立的"抖动":每次新建TCP连接时,需要经历"三次握手"(SYN, SYN-ACK, ACK),而网络延迟、路由变化、防火墙处理等因素会导致每次连接建立的时间不一致(即抖动)。

  • 如果攻击需要比较多个请求的响应时间(比如相差几毫秒),这种抖动会干扰时间测量的准确性。

  • 单次连接避免了重复建立连接的开销,因此响应时间的差异更可能反映服务器实际处理时间的差异,而非网络波动。

分别连接,就是指每次的连接都需要建立完善的TCP三次握手。


想了解单次连接在安全上的用途,还需要先了解一个概念:时序攻击(Timing-Based Attacks)

  • 时序攻击是一种通过测量服务器响应时间的微小差异来推断敏感信息的攻击方式(例如破解密码、探测系统内部状态等)。

  • 例子 :攻击者发送不同密码尝试登录,通过服务器响应时间的差异猜测正确密码(正确密码可能需要更长的验证时间),这种也叫侧信道

什么叫"侧信道"?

  • ""(Side):指攻击者不直接攻击系统的主逻辑(如密码算法、代码漏洞),而是从"侧面"观察系统的物理或行为特征。

  • "信道"(Channel):指攻击者利用的这些间接信息传递的路径(如时间、功耗、电磁波等)。

总结:
单次连接适合需要高精度时间测量的攻击场景(如边信道攻击),因为它能减少网络层面的干扰。


多连接的用途:多步骤漏洞测试
核心概念:

  • 多步骤漏洞 :某些漏洞需要按特定顺序执行多个操作才能触发。
    • 例子
      1. 先通过一个请求创建用户账户;
      2. 用另一个请求提升权限;
      3. 最后用第三个请求执行恶意操作。

为什么用多连接?

  • 模拟真实场景

    • 多步骤漏洞通常需要多个独立操作,每个操作可能涉及不同的会话(Session)、Cookie或令牌。
    • 如果使用单一连接,可能会因为连接复用(如HTTP Keep-Alive)导致服务器误认为多个步骤是同一用户连续操作,从而掩盖漏洞。
  • 隔离步骤

    • 每个步骤通过独立连接执行,可以确保服务器为每个步骤分配新的资源(如线程、内存),更贴近真实攻击环境。
    • 某些漏洞可能依赖连接状态的独立性(如竞争条件漏洞)。

总结:
分别连接适合测试需要多个独立操作的漏洞(如逻辑漏洞、竞争条件),因为它能模拟真实用户的多步行为。


类比理解

  • 单连接:像用同一把尺子连续测量多个物体的长度,减少工具切换带来的误差。
  • 多连接:像用不同工具完成组装一台机器的多个步骤,每个工具独立使用,避免相互干扰。

实际应用场景

  1. 时序攻击示例 ------ 单次连接:

    • 攻击者通过单连接发送100次密码猜测请求,通过响应时间差异推断正确密码。
    • 如果每次请求都新建连接,网络抖动可能导致误判。
  2. 多步骤漏洞示例 ------ 分别连接:

    • 漏洞需要:登录 → 上传文件 → 触发文件解析漏洞。
    • 每个步骤需通过独立连接模拟不同用户操作,确保漏洞被正确触发。

Reference

https://portswigger.net/burp/releases/professional-community-2022-8

相关推荐
苏生Susheng1 天前
【SpringBoot整合系列】Kafka的各种模式及Spring Boot整合的使用基础案例
java·spring boot·后端·spring·kafka·消息队列·并发
菠菠萝宝1 天前
【Java八股文】08-计算机网络面试篇
java·计算机网络·http·面试·https·udp·tcp
电子阿板4 天前
ZYNQ TCP Server PS端千兆网口速率低问题,要修改BSP中LWIP配置参数
嵌入式硬件·tcp/ip·fpga开发·tcp
Golinie12 天前
【C++高并发服务器WebServer】-12:TCP详解及实现
服务器·c++·tcp·webserver
SunnyRivers14 天前
go并发和并行
golang·并发·协程·并行·管道
Ljw...1 个月前
TCP协议(网络)
网络·网络协议·tcp/ip·tcp·tcp协议
Ciderw1 个月前
Golang并发机制及CSP并发模型
开发语言·c++·后端·面试·golang·并发·共享内存
纵横驰骋的小野马1 个月前
桌面应用(wails)实现对等节点通信
服务器·wails·tcp·p2p·对等节点
hong_zc1 个月前
网络原理(三)—— 传输层 之 UDP 和 TCP协议
网络·网络协议·udp·tcp