💎【行业认证·权威头衔】
✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家
✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主
✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者
🏆【荣誉殿堂】
🎖 连续三年蝉联"华为云十佳博主"(2022-2024)
🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)
🎖 十余个技术社区年度杰出贡献奖得主
📚【知识宝库】
覆盖全栈技术矩阵:
◾ 编程语言:.NET/Java/Python/Go/Node…
◾ 移动生态:HarmonyOS/iOS/Android/小程序
◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙
◾ 游戏开发:Unity3D引擎深度解析
文章目录
- 🚀前言
- 🔎项目描述
- 🔎项目分析
- 🚀任务一:Proxy 模块的使用
- 🔎1.1 任务概述
- 🔎1.2 任务分析
- 🔎1.3 相关知识
- 🔎1.4 工作任务
- 🔎1.5 归纳总结
- 🔎1.6 提高拓展
- 🚀【附】AI 提示词模板
🚀前言
🔎项目描述
Burp Suite是用于攻击 Web 应用程序的集成平台,包含了许多工具,Burp Suite 为这些工具设计了许多接口,以加快攻击应用程序的过程。所有 Burp Suite 都共享一个请求,该工具能够更好地帮助测试人员对目标站点的请求数据进行分析与测试。
🔎项目分析
Burp Suite 作用于浏览器与服务器之间,该工具可以对抓取到的 HTTP 请求数据包进行重放、爆破等操作。在该项目中,需要明确 Burp Suite 的抓包方法,并熟悉Proxy、Intruder和Repeater模块的使用方法。
🚀任务一:Proxy 模块的使用
🔎1.1 任务概述
在 phpStudy 站点根目录中,创建demo.php文件,并写入如下内容:
<?php$name='flag';$value='Success!';setcookie($name,$value);?>利用 Burp Suite 抓取 HTTP 请求数据包,在 HTTP 请求数据包中找到"Success!"字段内容。
🔎1.2 任务分析
为了能够抓取到 HTTP 请求数据包,需在发起请求的浏览器中配置 Burp Suite 的代理,并应用该情景模式。打开 Burp Suite 代理监听,当浏览器发起请求时,Burp Suite 即可获取到 HTTP 请求数据。
🔎1.3 相关知识
打开 Burp Suite,在Proxy模块下的Options选项卡中,保存了 Burp Suite 的默认监听地址,如图 6-1 所示。
如果代理的端口被操作系统的其他应用占用而无法使用,那么可以选择对应的条目,单击“Edit”按钮,修改监听端口即可。
Intercept选项卡为代理监听选项卡,该选项卡的具体内容如图 6-2 所示:
- 单击“Forward”按钮:表示提交抓取到的 HTTP 请求数据包,即发送给服务器
- 单击“Drop”按钮:表示丢弃抓取到的 HTTP 请求数据包,即丢失客户端发起的请求,且无法接收到响应数据
- 单击“Intercept is off”按钮:表示打开 HTTP 请求拦截,抓包时需要将该状态打开
- 单击“Open Browser”按钮:打开 Burp Suite 自带的浏览器,无须配置代理,开启浏览器的同时将自动配置代理
Burp Suite 的Proxy 模块的工作原理如图 6-3 所示:
当客户端与服务器在无代理的状态下通信时,二者间的数据传递是直接的,如图 6-3 中的步骤 1 与步骤 2 所示。
当浏览器开启 Burp Suite(代理)后,浏览器发起的请求数据会被 Burp Suite 拦截,并在 Burp Suite 中显示 HTTP 请求数据,可供用户对 HTTP 请求数据进行增、删、改操作后再发送给服务器,如图 6-3 中的步骤 A 与步骤 B 所示。用户也可以直接将 HTTP 请求数据包丢弃,此时服务器将无法收到客户端发送的请求。
此外,Burp Suite 还可以截获服务器向客户端发送的信息,当 Burp Suite 将请求数据包发送给服务器时,可以通过 Burp Suite 抓取并截获服务器处理后的返回结果,比客户端更早地查看到响应内容,如图 6-3 中的步骤 C 与步骤 D 所示。
🔎1.4 工作任务
根据前文所说的 SwitchyOmega 插件配置方式,在 Firefox 浏览器中配置用于 Burp Suite 的监听,默认协议为 HTTP,代理主机为127.0.0.1,代理端口为8080。开启 phpStudy 站点服务,并按要求创建demo.php文件,写入指定代码内容。在 Firefox 浏览器的地址栏中输入http://127.0.0.1/demo.php,访问demo.php,如图 6-4 所示。
页面回显为空。在浏览器的 SwitchyOmega 插件中应用配置好的 Burp Suite 模式,启动 Burp Suite,将Proxy模块的Intercept选项卡中的拦截模式调整为“on”,如图 6-5 所示。
再次使用 Firefox 浏览器访问目标站点文件,此时 Burp Suite 成功抓取到请求数据包,如图 6-6 所示。
- 第 1 行为请求行,该行中包含了请求方法、请求的网页和 HTTP 的版本信息
- 第 2 行到第 10 行为 HTTP 请求头,包含了请求的目标服务器地址、用户使用的浏览器、浏览器可识别的语言与编码、浏览器记录的 Cookie 等信息
抓包数据的Cookie 字段内容为:
Cookie: flag=Success%21其中,%21为符号"!"经过 URL 编码后的结果,即本任务的目标字符串"Success!"。
由于 Burp Suite 此时处于拦截状态,浏览器的请求并未发送到服务器且无法收到服务器的响应,因此此时浏览器的请求状态为加载状态,如图 6-7 所示。
在单击 Burp Suite 数据包拦截面板中的“Forward”按钮后,当前拦截的数据包将会被发送到服务器中。服务器接收到请求后,将对该请求进行响应。由于 Burp Suite 此时并未开启响应数据包截取功能,因此服务器的响应数据包将会直接发送给浏览器。
🔎1.5 归纳总结
在进行 Web 应用安全测试时,会使用 Burp Suite 对 Web 应用传输的数据进行抓取与分析,以此帮助测试人员对 Web 应用进行更全面的安全检测。测试人员可以使用 Burp Suite 自带的浏览器进行拦截,也可以通过 Firefox 或 Chrome 浏览器配置的 SwitchyOmega 插件进行拦截。
🔎1.6 提高拓展
使用仅配置 SwitchyOmega 插件的全新 Firefox 浏览器,联动 Burp Suite 进行抓包拦截,仅能抓取 HTTP 的请求数据包,无法抓取到 HTTPS 的请求数据。对于 Firefox 浏览器的 SwitchyOmega 插件,应用 Burp Suite 情景模式并开启 Burp Suite 的 HTTP 拦截请求,浏览器访问百度网站首页,浏览器页面显示如图 6-8 所示。
目前,仍无法抓取到请求数据,在抓包状态下,浏览器也无法访问百度网站首页。如果想抓取到 HTTPS 的访问数据包,那么可通过Burp Suite 工具自带的浏览器或配置 Firefox 浏览器导入相关证书。
方法一:使用 Burp Suite 自带的浏览器
在 Burp Suite 的Proxy模块下,单击Intercept选项卡中的“Open Browser”按钮,打开工具自带的浏览器。打开 Burp Suite 的数据包拦截功能,在 Burp Suite 自带的浏览器中发起对百度站点的访问,发现成功抓取到该请求数据包,如图 6-9 所示。
方法二:配置 Firefox 浏览器导入证书
如果想使用 Firefox 浏览器发起请求,那么先应用 Firefox 中已配置好的 Burp Suite 代理情景,打开 Burp Suite 的数据包拦截功能,在 Firefox 浏览器中输入并访问http://burp,如图 6-10 所示。
页面的响应结果中出现了 Burp Suite 字样,单击右上方的“CA Certificate”按钮,下载相关证书。接下来,单击 Firefox 浏览器右上角的菜单,并单击“选项”按钮,如图 6-11 所示。
单击选项界面左侧的“隐私与安全”按钮,在该选项卡下找到“证书”一栏,并单击“查看证书”按钮,打开证书管理器,如图 6-12 所示。
单击“证书机构”选项卡下的“导入”按钮,选择下载的证书,如图 6-13 所示,并勾选信任此证书的所有复选框,然后单击“确定”按钮即可。
成功下载并导入证书后,在 Firefox 浏览器应用 Burp Suite 代理情景、Burp Suite 开启请求拦截的情况下,利用 Firefox 浏览器访问百度网站首页,如图 6-14 所示,页面显示成功抓取到 HTTPS 数据包。
🚀【附】AI 提示词模板
若您需要将上述内容交由 AI 进行进一步加工(如生成 Burp Suite 各模块功能对比表、输出证书导入常见问题解决方案、制作 Intruder/Repeater 操作练习任务等),可使用以下提示词模板:
提示词模板:
请根据以下关于"Burp Suite 工具使用"的技术文章内容,完成下列任务:
【角色设定】你是一位资深 Web 安全测试工程师兼 Burp Suite 培训讲师。
【任务类型】(请选择:①生成 Burp Suite Proxy/Intruder/Repeater 三大模块功能对比表格 ②制作 Burp Suite 抓包与证书配置常见问题(FAQ)文档 ③设计 Intruder 暴力破解练习题目(含靶场源码和操作步骤) ④输出 Repeater 模块重放与修改请求的实验指南 ⑤提炼 Burp Suite 日常测试工作流速查卡片)
【输出要求】(请填写具体要求,如:表格需包含功能描述、使用场景、快捷键/操作方式/FAQ 需至少包含 6 个典型报错及对应解法等)
【原文内容】
(在此处粘贴上述整理后的完整第 6 章文章)【补充说明】(可选,如:需补充 Intruder 四种攻击类型(Sniper/Battering ram/Pitchfork/Cluster bomb)的详解/说明如何保存和导入抓包数据/增加 Macros 和 Session Handling 的扩展说明等)
示例回答(针对上述提示词模板的完整回复):
好的,作为资深 Web 安全测试工程师兼 Burp Suite 培训讲师,我已完成您指定的任务。以下是根据原文内容生成的【Burp Suite 核心模块功能对比表】,涵盖 Proxy、Intruder、Repeater 三大模块,便于读者快速理解和选用:
Burp Suite 核心模块功能对比表
对比维度 Proxy(代理模块) Intruder(爆破模块) Repeater(重放模块) 核心功能 拦截、查看、修改浏览器与服务器之间的 HTTP/HTTPS 请求和响应 自动化发送大量定制化请求,进行暴力破解、枚举和模糊测试 手动重放并修改单个 HTTP 请求,分析响应变化 主要用途 抓包分析、数据包修改、参数探测 密码爆破、目录枚举、参数 Fuzz 测试 请求重放、漏洞验证、参数调优 用户交互方式 实时拦截 + 逐包转发(Forward/Drop) 设置攻击位置(Payload Positions)+ 加载字典(Payloads) 手动编辑请求 → 点击 Send → 查看响应 是否支持自动化 否(手动操作) 是(可配置字典自动批量发送) 否(每次手动发送) 支持的数据量 单条请求/响应 批量(根据字典大小,可成千上万条) 单条请求/响应 常用场景示例 查看 Cookie、修改 POST 参数、测试越权 爆破登录密码、遍历用户 ID、FUZZ SQL 注入点 修改请求头测试 XSS、验证命令注入漏洞 核心操作快捷键 Ctrl+I(发送到 Intruder)/ Ctrl+R(发送到 Repeater) 配置后点击 Start Attack Ctrl+R(从 Proxy 或 History 发送) 结果查看方式 即时查看拦截面板 Attack 结果表格(按状态码/长度排序筛选) 响应面板即时显示 是否需要代理配置 是(浏览器需配置 127.0.0.1:8080) 否(基于已抓取的请求包操作) 否(基于已抓取的请求包操作) HTTPS 证书要求 需要安装 Burp 根证书(否则无法解密 HTTPS 流量) 无需额外配置(基于已建立的会话) 无需额外配置 典型工作流(三模块联动)
- Proxy 抓包→ 拦截目标请求
- 右键 → Send to Repeater→ 手动修改参数测试漏洞(如 SQL 注入验证)
- 右键 → Send to Intruder→ 配置字典进行批量爆破(如密码枚举)
- 分析 Intruder 结果→ 筛选异常响应(如长度不同、状态码不同)
- 返回 Repeater 验证→ 确认漏洞是否存在
常见问题速查
问题 原因 解决方法 Proxy 无法抓取 HTTPS 请求 浏览器未安装 Burp 证书 访问 http://burp下载证书并导入浏览器Intruder 攻击速度过慢 默认线程数为 1 在 Resource Pool 中增加线程数(注意目标服务器负载) Repeater 发送请求后无响应 会话过期或 Cookie 失效 从 Proxy History 中复制最新 Cookie 替换 抓包后页面一直加载中 Intercept 状态为 on 且未 Forward 点击 Forward 放行请求,或临时关闭 Intercept (如需其他格式如证书配置详细指南或 Intruder 练习题目,可再次使用提示词模板指定任务类型。)