【愚公系列】《Web应用安全》010-Repeater模块的使用

💎【行业认证·权威头衔】

✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家

✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主

✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者

🏆【荣誉殿堂】

🎖 连续三年蝉联"华为云十佳博主"(2022-2024)

🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)

🎖 十余个技术社区年度杰出贡献奖得主

📚【知识宝库】

覆盖全栈技术矩阵:

◾ 编程语言:.NET/Java/Python/Go/Node...

◾ 移动生态:HarmonyOS/iOS/Android/小程序

◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙

◾ 游戏开发:Unity3D引擎深度解析

文章目录

  • 🚀前言
  • [🚀任务三:Repeater 模块的使用(完整整理版)](#🚀任务三:Repeater 模块的使用(完整整理版))
    • [🔎3.1 任务概述](#🔎3.1 任务概述)
    • [🔎3.2 任务分析](#🔎3.2 任务分析)
    • [🔎3.3 相关知识](#🔎3.3 相关知识)
    • [🔎3.4 工作任务](#🔎3.4 工作任务)
    • [🔎3.5 归纳总结](#🔎3.5 归纳总结)
    • [🔎3.6 提高拓展](#🔎3.6 提高拓展)
  • [🚀【附】AI 提示词模板](#🚀【附】AI 提示词模板)

🚀前言

🔎项目描述

Burp Suite 是用于攻击 Web 应用程序的集成平台,包含了许多工具,Burp Suite 为这些工具设计了许多接口,以加快攻击应用程序的过程。所有 Burp Suite 都共享一个请求,该工具能够更好地帮助测试人员对目标站点的请求数据进行分析与测试。

🔎项目分析

Burp Suite 作用于浏览器与服务器之间,该工具可以对抓取到的 HTTP 请求数据包进行重放、爆破等操作。在该项目中,需要明确 Burp Suite 的抓包方法,并熟悉 Proxy、Intruder 和 Repeater 模块的使用方法。

🚀任务三:Repeater 模块的使用(完整整理版)

🔎3.1 任务概述

Burp Suite 的 Repeater 模块是一个能够修改 HTTP 请求、手动构建 HTTP 请求和重复发送自定义 HTTP 数据包的模块。Repeater 模块的最大用途就是可以和其他模块结合起来,这与 Intruder 模块的使用方法类似,在 Proxy 模块抓取到的数据信息可以被发送到 Repeater 模块上,并且可以手动调整这个请求进行漏洞的探测或攻击。

在 phpStudy 的站点根目录中创建 demo.php 文件,在该文件中写入如下内容:

php 复制代码
<meta charset="UTF-8">
<?php
if (isset($_GET['num'])) {
    if (intval($_GET['num']) > 55) {
        echo "值太大了";
    } elseif (intval($_GET['num']) < 55) {
        echo "值太小了";
    } else {
        echo time() . " Success";
    }
} else {
    echo "请用GET请求提交变量num!";
}
?>

利用 Burp Suite 的 Repeater 模块测试 num 的值,并在响应数据包中成功输出 "Success" 字段。

🔎3.2 任务分析

Burp Suite 的 Repeater 模块可以对代理模块中抓取到的 HTTP 请求数据包进行数据更改与重复发送,发送后可以直接获取到该请求数据的响应源代码。通过对不同的调试与响应源代码的内容进行分析,可以找到正确字段或发现目标站点中存在的问题,并得到目标信息。

🔎3.3 相关知识

二分法作为一种数学算法,可以解决生活中出现的问题。在检测站点漏洞时,测试人员也会通过二分法检测出站点后台代码中的预期数据。例如后续提及的 SQL 注入漏洞,在利用时间盲注或布尔盲注获取数据库数据时,会通过二分法判断出数据库指定字符的 ASCII 码,通过二分法的对比来缩小其变化范围,最终找到指定数据。

利用 Burp Suite 的 Repeater 模块,通过重复构建与发送数据包,结合对响应数据包的分析,可以找到目的值,从而获得目标字段。

🔎3.4 工作任务

开启 phpStudy 站点服务,并按要求创建 demo.php 文件,写入指定代码内容。使用 Firefox 浏览器访问 http://127.0.0.1/demo.php,访问后页面显示的内容为 "请用GET请求提交变量num!" ,如图 6-34 所示。

提交 num 的值为 1,页面显示如图 6-35 所示。

页面显示的内容为 "值太小了" ,说明页面对用户输入的信息进行检测与提示。由于是 GET 请求,因此可以在提交的网址中按照提示信息直接修改请求参数的值,或通过 Burp Suite 的 Repeater 模块对 HTTP 数据包进行修改与重复提交。

开启 Firefox 浏览器的 Burp Suite 代理模式,并打开 Burp Suite 的 HTTP 拦截请求,浏览器提交 http://127.0.0.1/demo.php?num=1 的请求,Burp Suite 成功抓取到请求数据包,如图 6-36 所示。

单击 "Action" 按钮,并选择 "Send to Repeater" ,将当前抓取到的请求数据包发送至 Repeater 模块,如图 6-37 所示。

Repeater 模块的主要内容如图 6-38 所示。

左侧为 Request 数据面板,在该面板中可以编辑 HTTP 请求数据包,修改请求中涉及的值、请求头字段等:

  • Raw 选项卡下可以直接修改请求数据
  • Hex 选项卡下可对请求数据的十六进制内容进行修改
  • 修改完成后,单击左上角的 "Send" 按钮,即可发送修改完成的数据包

右侧为 Response 数据面板,该面板为左侧 HTTP 请求数据包发送后的响应数据:

  • PrettyRaw 选项卡下可以直接看到响应源码
  • Hex 选项卡下可以查看响应数据的十六进制内容
  • Render 选项卡下可以查看响应数据的浏览器界面显示内容

Request 和 Response 数据面板如图 6-39 所示。

修改 GET 请求的参数,例如 num=100,单击 "Send" 按钮发送请求数据,响应数据包的 Render 信息如图 6-40 所示。

根据页面响应数据,使用二分法 来判断值,如 num=50num=75num=63 等,如图 6-41 所示。

通过不断地使用二分法,在 Repeater 模块中重复提交 num 的值,当 num=55 时,页面成功输出 "Success" 字段,如图 6-42 所示。

🔎3.5 归纳总结

在测试过程中,如果需要结合页面响应结果来更改变量的值,除了直接在浏览器中提交请求数据,还可以通过 Burp Suite 抓取 HTTP 的请求数据包,并将数据包发送到 Repeater 模块中。在 Repeater 模块中,可以对指定参数进行更改并发送,然后结合响应结果判断数据的值。

🔎3.6 提高拓展

如果请求环境中存在对 ReferrerX-Forwarded-ForUser-Agent 等字段的检测,那么在 Repeater 模块中可以手动添加或修改这类字段的内容。

将 phpStudy 站点根目录下的 demo.php 文件内容替换如下:

php 复制代码
<?php
$xff = @$_SERVER['HTTP_X_FORWARDED_FOR'];
echo $xff;
?>

该代码会获取并输出 X-Forwarded-For 字段的内容。

利用 Firefox 浏览器的 Burp Suite 代理,结合 Burp Suite 的拦截请求抓取对本地 demo.php 网页的访问请求,并发送到 Repeater 模块。Request 和 Response 数据面板的输出如图 6-43 所示。

由于此时并未发送 X-Forwarded-For 字段的内容,因此在 Response 数据面板中除正常响应外,并没有其他字段输出。在 Request 数据包中增加该字段,将字段的内容设定为 "192.168.1.100",如图 6-44 所示。

Response 数据面板中成功输出目标字段,右键单击响应源码,单击 "Show response in browser" ,在弹出的窗口中单击 "Copy" 按钮复制网址,如图 6-45 所示。将复制的网址在 Firefox 浏览器(代理浏览器)中提交,即可在浏览器中查看响应数据包的内容,如图 6-46 所示。

🚀【附】AI 提示词模板

若您需要将上述内容交由 AI 进行进一步加工(如生成 Repeater 模块操作练习题目、输出 Burp Suite 三大模块联动工作流速查卡、制作 X-Forwarded-For 字段伪造实验指南等),可使用以下提示词模板:


提示词模板:

请根据以下关于"Burp Suite Repeater 模块的使用"的技术文章内容,完成下列任务:

【角色设定】 你是一位高级 Web 安全测试工程师兼 Burp Suite 工具培训讲师。

【任务类型】 (请选择:①设计一道结合二分法与 Repeater 模块使用的练习题目(含靶场源码与 WriteUp) ②制作 Burp Suite Proxy + Intruder + Repeater 三大模块联动工作流速查卡 ③输出 HTTP 请求头字段(Referrer/X-Forwarded-For/User-Agent)伪造与测试指南 ④生成 Repeater 模块请求修改与响应分析全流程操作手册 ⑤提炼 Repeater 模块常用快捷键与界面功能速查表)

【输出要求】 (请填写具体要求,如:速查卡需包含模块间数据流转关系和典型操作步骤/伪造指南需包含各字段的作用、检测绕过方法和 Repeater 配置示例/操作手册需包含截图占位和验证方法)

【原文内容】

(在此处粘贴上述整理后的完整 6.3 章节文章)

【补充说明】 (可选,如:需补充 Repeater 模块中 Inspector 面板的使用方法/说明如何将 Repeater 中的请求发送至 Intruder/增加请求对比(Compare)功能的介绍等)


示例回答(针对上述提示词模板的完整回复):

好的,作为高级 Web 安全测试工程师兼 Burp Suite 工具培训讲师,我已完成您指定的任务。以下是根据原文内容生成的 【Burp Suite 三大模块联动工作流速查卡】 ,涵盖 Proxy、Intruder、Repeater 的完整数据流转与典型操作流程,便于读者在实际测试中高效协同使用:


Burp Suite 三大模块联动工作流速查卡

一、数据流转关系图

复制代码
                    ┌─────────────────────────────────────────────┐
                    │                                             │
                    ▼                                             │
┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌─────────┴──────┐
│  浏览器发起   │  │   Proxy      │  │   Action     │  │   Intruder     │
│  请求        │──▶│   拦截抓包    │──▶│   右键菜单   │──▶│   自动化爆破   │
└──────────────┘  └──────────────┘  └──────────────┘  └────────────────┘
                         │                  │
                         │                  ├──────────────────┐
                         │                  ▼                  ▼
                         │           ┌──────────────┐  ┌──────────────┐
                         │           │   Repeater   │  │  其他模块    │
                         │           │   手动重放   │  │  (Scanner等) │
                         │           └──────────────┘  └──────────────┘
                         │
                         ▼
                   ┌──────────────┐
                   │   服务器响应   │
                   └──────────────┘

二、三大模块功能定位速查

模块 核心功能 典型场景 数据来源 输出结果
Proxy 实时拦截/查看/修改请求和响应 抓包分析、参数探测、初步测试 浏览器发出的实时请求 单条请求/响应的详细内容
Intruder 自动化批量发送定制请求 暴力破解、ID枚举、Fuzz测试 Proxy 抓取的请求模板 + 字典 攻击结果表格(含状态码/长度/响应)
Repeater 手动修改并重复发送单条请求 漏洞验证、参数调试、响应分析 Proxy 或 History 中的请求 单条请求的响应内容(含Render预览)

三、完整工作流(分步操作)

阶段一:抓包(Proxy)

  1. 浏览器配置代理 127.0.0.1:8080,SwitchyOmega 切换至 Burp Suite 模式
  2. Burp Suite → Proxy → Intercept → 确保状态为 "Intercept is on"
  3. 在浏览器中访问目标 URL,查看拦截到的请求数据包

阶段二:分发(Action 右键菜单)

  • 抓包成功后,在请求数据包上右键 → 出现 Action 菜单
  • Send to Repeater(Ctrl+R):发送至 Repeater 进行手动调试
  • Send to Intruder(Ctrl+I):发送至 Intruder 进行自动化爆破

阶段三:手动调试(Repeater)

  1. 切换到 Repeater 选项卡
  2. 在 Raw 或 Params 标签页中修改请求参数
  3. 点击 "Send" 发送请求,查看右侧响应面板
  4. 根据响应结果(Render 预览)调整参数,重复发送直至找到目标值

阶段四:自动化爆破(Intruder)

  1. 切换到 Intruder 选项卡 → Positions → 用 § 标记爆破位置
  2. Payloads → 选择字典类型和内容(如 Numbers、Simple list)
  3. 可选:Payload Processing → 添加编码/加密规则(如 Base64-encode)
  4. 点击 "Start Attack" → 分析结果表格,按 Length/Status 排序筛选

四、数据流转快速映射表

从(源) 到(目标) 快捷键 用途
Proxy → Repeater Ctrl+R 快速调试单个请求
Proxy → Intruder Ctrl+I 自动化测试该请求
Repeater → Intruder 右键 → Send to Intruder 重放验证后转为自动化
Intruder 结果 → Repeater 右键 → Send to Repeater 筛选特定请求进一步验证

五、常见问题及解决

问题 原因 解决方法
Proxy 抓不到包 浏览器代理未配置或 Intercept 未开启 检查 SwitchyOmega 模式,确保 Intercept 为 on
Intruder 攻击无结果 会话过期或 Cookie 失效 从 Proxy History 复制最新 Cookie 到请求模板
Repeater 响应与浏览器不一致 请求头缺失(如 Referrer/User-Agent) 在 Repeater 中手动补充缺失的请求头字段
修改参数后响应无变化 参数位置标记错误或未修改完整 检查 Raw 视图和 Params 视图是否同步

六、实战技巧

  1. 二分法结合 Repeater:当目标值在某个范围内时(如 0~100),使用 Repeater 配合二分法,通过"值太大了/值太小了"响应快速定位目标值(原文案例 num=55)
  2. Intruder 结果筛选 :攻击完成后,点击 Length 列头排序,长度异常的响应通常包含重要信息
  3. Repeater 的 Inspector 面板:可快速查看和修改请求参数、请求头、Cookie,比 Raw 模式更直观
  4. 请求对比功能 :在 Repeater 中右键 → Compare with... 可对比两次请求的差异

(如需其他格式如练习题目或请求头伪造指南,可再次使用提示词模板指定任务类型。)

相关推荐
Cache技术分享2 小时前
503. Java 反射 - 编写 ServiceFactory 类
前端·后端
赵大仁2 小时前
AI 限流 UX 设计:排队、降级、告知与用户预期管理
前端·ai·限流·用户体验·产品设计
qq_394308672 小时前
设备伤人多在检修时刻,设备安全目视化守住机械风险关口
安全·制造
__sjfzllv___2 小时前
在职前端Leader学习/转行 AI Agent -DAY37
前端
用户2181697049302 小时前
Flutter (二十二) GlobalKey
前端
用户2181697049302 小时前
Flutter (二十一) 下拉刷新,加载更多
前端
Magic-ZYJ2 小时前
HarmonyOS Stage 模型实战:UIAbility 生命周期如何驱动页面安全状态
安全·华为·harmonyos·鸿蒙·移动端开发·独立开发者·心晴手记
Sagittarius_A*2 小时前
【好靶场】PHP反序列化入门练习
安全·php·web·反序列化
IT_陈寒3 小时前
Python装饰器把我坑惨了,原来这样用才不掉链子
前端·人工智能·后端