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

BurpSuite重放发包的一些区别的更多相关文章

  1. 小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

    手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格 ...

  2. bugku web题INSERT INTO注入

    0x01: 打开题目描述,已经将源码给了我们: <?php error_reporting(0); function getIp(){ $ip = ''; if(isset($_SERVER[' ...

  3. 【技巧总结】Penetration Test Engineer[4]-Web-Security(文件处理、会话管理、访问控制、SSRF、反序列化漏洞)

    Web安全基础2 3.8.文件处理 1)文件上传 一个正常的业务需求,问题在于控制上传合法文件. 防御文件上传 客户端javascript校验(通常校验扩展名) 检查MIME类型 检查内容是否合法 随 ...

  4. Linux Socket - UDP链接包

    LINUX UDP SOCKET 01 UDP号绑定会报错吗? 会的,提示Address is using,本地的没有区别 UDP不需要发起链接,不知道是不是连接成功 client的IP地址和端口号不 ...

  5. Pikachu漏洞练习平台实验——SQL注入(四)

    1.概述 1.1发生原因 SQL注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄 ...

  6. NGINX 类漏洞 整理记录

    简单介绍NGINX: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行. 其特点是占有内存少,并发能力强,nginx的并 ...

  7. Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别

    目录 Java并发包源码学习系列:AQS共享模式获取与释放资源 独占式获取资源 void acquire(int arg) boolean acquireQueued(Node, int) 独占式释放 ...

  8. Postman发包form-data、x-www-form-urlencoded、raw、binary的区别

    首先普及下http的Post四种Content-Type Postman中post编码方式form-data.x-www-form-urlencoded.raw.binary的区别 x-www-for ...

  9. java 并发包JUC下的CountDownLatch和CyclicBarrier的理解和区别

    推荐这篇帖子,讲得不错~ https://blog.csdn.net/liangyihuai/article/details/83106584

  10. OAuth和OpenID的区别(转)

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用.  OAuth协议为用户资源的授权提 ...

随机推荐

  1. regsvr32.exe使用

    regsvr32.exe使用详解:  regsvr32.exe是32位系统下使用的DLL注册和反注册工具,使用它必须通过命令行的方式使用,格式是:  regsvr32 [/u] [/s] [/n] [ ...

  2. docker compose的安装

    1,安装docker ### CentOS8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的. # step 1: 安装必要的一些系统工具 sudo yum ...

  3. 【Amadeus原创】修改docker里面网站的port端口映射

    切记:以下顺序千万不能颠倒!否则不生效! 1. 查看需要修改的容器,记住container id docker ps -a 2. 停止容器 docker stop xxx 3. 修改容器的端口映射配置 ...

  4. 开启生态新姿势 | 使用 WordPress 远程附件存储到 COS

    在看到这篇文章前,你大概已经听说过 WordPress 了,它是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站,也可以把 WordPres ...

  5. MYSQL数据库设计操作规范 ❤️【建议收藏】

    1.背景及其意义 MySQL数据库与 Oracle. SQL Server 等数据库相比,有其内核上的优势与劣势.我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短.本文档旨在帮助或指导数据中 ...

  6. 【Mybatis】学习笔记02:实现简单的查

    Mybatis02:简单的查 如果你没先去学 增删改 ,然后直接看这篇记录,我想会有些困难.因为该文写的很粗劣,只是简单的截图.所以没基础的建议先去看 [Mybatis]学习笔记01:连接数据库,实现 ...

  7. Qt音视频开发43-人脸识别服务端

    一.前言 上一篇文章写道人脸识别客户端程序,当然要对应一个服务端程序,客户端才能正常运行,毕竟客户端程序需要与服务端程序进行交互他才能正常工作.通常人脸识别服务端程序需要和人脸识别的相关处理库在一起, ...

  8. Qt音视频开发25-ffmpeg音量设置

    一.前言 音视频的播放.关闭.暂停.继续这几个基本功能,绝大部分人都是信手拈来的搞定,关于音量调节还是稍微饶了下弯弯,最开始打算采用各个系统的api来处理,坐下来发现不大好,系统的支持不完美,比如有些 ...

  9. JVM实战—3.JVM垃圾回收的算法和全流程

    大纲 1.JVM内存中的对象何时会被垃圾回收 2.JVM中的垃圾回收算法及各算法的优劣 3.新生代和老年代的垃圾回收算法 4.避免本应进入S区的对象直接升入老年代 5.Stop the World问题 ...

  10. GIS开发的基础优化策略

    GIS开发的基础优化策略 1. GIS开发 空间字段要建对,类型明确,坐标系明确. 空间索引要建立,提高查询效率. 使用空间字段要谨慎,不用的地方不要查. 地图显示尽量用切片,用WMTS. WMS能用 ...