免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

零基础学BurpSuite:抓包改包与HTTPS证书配置教程

零基础学BurpSuite:抓包改包与HTTPS证书配置教程 对于零基础学习 BurpSuite 的人来说真正卡住你的往往不是软件本身能不能打开而是抓包和改包之间的关系没有建立起来。BurpSuite 是 Web 开发和安全测试场景中高频出现的 HTTP 抓包改包工具它解决的核心问题是你能不能看到浏览器发出的原始 HTTP 请求能不能在请求到达服务器之前把它“拦下来”并修改后再继续发送。这篇教程会按照一条完整链路展开从 BurpSuite 安装、代理配置、HTTPS 证书信任到本地搭建一个最小训练服务再实际操作抓包、改包、重放和参数枚举。整个流程跑通后你就能理解为什么每次做安全测试或接口联调时很多人第一个打开的工具是 BurpSuite。需要先说明的一点是BurpSuite 的版本、菜单名称和默认行为在不同版本之间会有微调。下面的操作方法尽量不依赖某一个具体版本重点放在原理和可复现的操作链路上。你只要按照顺序操作即使界面位置有细微差别也能根据名称找到对应功能。1. 先想清楚BurpSuite 抓包改包到底发生在哪一层1.1 抓包的本质是让请求绕行到本地代理普通情况下浏览器会直接把 HTTP 请求发送给目标网站。服务器处理完请求后会原路把响应返回到浏览器整个过程浏览器自己完成外部程序很难插手。BurpSuite 抓包的原理不一样。它会先在本机启动一个本地代理服务默认监听地址是127.0.0.1:8080。你需要手动把浏览器的代理设置指向这个地址和端口浏览器发出的所有 HTTP 请求就会先进入 BurpSuite由 BurpSuite 把请求转发给目标服务器。服务器返回响应时响应也先回到 BurpSuite再由 BurpSuite 返回给浏览器。这个过程中BurpSuite 就是一个“中间人”。它能查看请求内容和响应内容也能暂停请求、修改请求甚至丢弃请求。因为所有流量都从它面前经过所以“抓包”本质上不是窃听而是主动把流量引到指定路径上。这里有一个新手容易误解的地方BurpSuite 不是安装完就能自动抓包的。如果你不配置浏览器代理BurpSuite 什么都看不到。很多用户把软件下载好、打开后发现 BurpSuite 面板很空根源就在这里。1.2 改包发生在请求到达服务器之前抓包只是“看”改包则是“看的同时进行修改”。HTTP 请求本质上是一段有格式的文本包含请求行、请求头和请求体。BurpSuite 拦截到请求后允许你直接修改这段文本的任意位置可以改 URL、改请求方法、改 Header、改 Cookie也可以改表单参数和 JSON 请求体。比如一个登录请求原本是POST /login HTTP/1.1 Host: 127.0.0.1:8000 Content-Type: application/x-www-form-urlencoded usernameadminpasswordwrongpassBurpSuite 的拦截器会停留在发送状态等待你决定如何处理。你点击 Forward请求才会继续发送给服务器你点击 Drop这个请求就会被丢弃。在 Forward 之前你完全可以修改请求内容例如把请求体里的passwordwrongpass改成password123456服务器收到时就是修改后的数据。改包的核心价值在于绕过前端验证。很多情况下你以为输入框只允许固定值但真正决定业务逻辑的是服务器端对请求体的解析。通过客户端页面无法修改的内容在 BurpSuite 中可以自由控制。1.3 浏览器开发者工具只能看BurpSuite 能改、能拦、能自动重放Chrome、Firefox 都自带 F12 开发者工具也能在 Network 面板里查看请求和响应。那为什么还要用 BurpSuite开发者工具主要用于“事后查看”。请求发出后你可以在 Network 面板里分析已发生的请求虽然支持编辑并重新发送但不够灵活。BurpSuite 则是在请求发生前进行“拦截”它可以在不改变浏览器操作的前提下伪造任意输入。更关键的是BurpSuite 有 Repeater 和 Intruder 这类模块可以把一个请求保存下来反复重放也可以把请求中的某个参数替换成大量测试值。对比起来工具是否拦截是否改包是否批量重放主要场景浏览器 F12否有限弱日常前端调试Fiddler / Charles部分支持支持较弱HTTP 调试、App 抓包BurpSuite支持支持强接口联调与安全测试2. 安装前先确认版本、许可证和运行环境2.1 下载来源与 Community/Professional 选择BurpSuite 由 PortSwigger 公司开发官方提供 Community Edition 社区版和 Professional 专业版。下载入口是 PortSwigger 官网不要从第三方下载站获取安装包因为你无法确认第三方包是否包含额外文件。社区版是免费的启动后不需要许可证可以直接使用。配置浏览器代理、抓包、改包、在 Repeater 里重放请求这些核心功能都能用。对于刚入门的新手社区版足够完成本教程中的全部抓包和改包练习。专业版需要购买付费许可证。它会提供完整的自动化扫描能力、更完整的 Intruder 功能和保存项目等能力。这里要注意不要去寻找所谓的“许可证密钥生成器”或破解包。这类文件不仅违反软件许可协议还经常捆绑恶意代码。对一个学习安全测试的人来说用不可信工具包做测试本身就是很大的安全风险。2.2 许可证与激活的合规边界如果你使用的是社区版下载后直接启动即可不会看到激活窗口。如果你使用的是专业版首次启动时会在 License 页面输入购买许可证后得到的密钥经过网络验证后才算激活成功。实际工作中有些公司会采购专业版供测试团队使用这时候激活方式以公司统一授权为准。个人学习者不需要为了体验部分进阶功能去折腾破解社区版加上本地练习环境已经足以覆盖零基础到入门的全过程。2.3 Java 环境和 Kali 下的安装差异新版本 BurpSuite 通常会随包提供运行环境甚至不需要额外安装 Java但这是版本相关行为不是恒定规律。安装前先到官网查看该版本的运行环境要求不要直接照抄旧教程里的 Java 路径。如果系统提示缺少 Java可以安装对应版本的 JRE 或 JDK 后重试。Windows 和 macOS 用户直接运行官方安装包即可Linux 用户有两种常见安装方式# 方式一通过包管理器安装 sudo apt update apt search burpsuite sudo apt install burpsuite # 方式二下载官方压缩包后解压运行 tar -xf burpsuite_*.tar.gz cd burpsuite_* ./BurpSuiteCommunity这里要单独回应一个常见误解不是所有 Kali 镜像都自带 BurpSuite即使自带版本也可能不是最新版。如果你在 Kali 桌面里找不到图标首先要确认系统是否安装了该软件而不是默认认为它一定存在。若没有使用上面的命令安装或到官网下载对应 Linux 安装包。2.4 新版界面变化不等于原理变化BurpSuite 的界面在不同大版本中变化明显旧教程里的菜单名称可能已经调整。比如过去常见的是顶部菜单直接切换模块新版本里你可能需要通过工具列或者模块列表进入 Proxy、Repeater、Intruder 等。遇到界面不一致时不要慌。你只需要找到对应英文单词Proxy 对应代理与抓包Repeater 对应重放Intruder 对应自动化枚举。下面的操作都围绕这些英文模块名展开这也是建议练习时保留英文界面的原因之一。3. 初次启动项目创建、代理监听和汉化方案3.1 临时项目和磁盘项目的区别BurpSuite 启动后会询问项目模式。社区版通常会让你选择 Temporary project 临时项目或基于磁盘的项目。不同版本的显示略有差异但逻辑一致。新手不建议选择临时项目因为每次关闭后抓包历史、Scope 配置和 Repeater 中的请求都可能丢失。建议把项目文件保存到本地磁盘这样下次启动还能继续查看历史New Project on disk 项目文件路径C:\burp\project1.burp Windows ~/burp/project1.burp Linux/macOS如果只是临时测试选 Temporary project 也可以。但为了后续能返回查看抓包记录磁盘项目更稳妥。3.2 检查默认代理监听启动后先确认代理是否正常工作。进入 Proxy 模块找到 Options 或 Settings 中的 Proxy Listener 区域正常情况下应该看到一条运行中的监听记录127.0.0.1:8080 Running如果监听状态不是 Running点击编辑把监听地址设置为127.0.0.1端口设置为8080。记住这个地址之后浏览器代理配置要完全一致。许多新手抓不到包就是因为 BurpSuite 监听在 8081浏览器配置却写成了 8080。3.3 界面英文不好汉化包的用法与风险BurpSuite 官方原版界面是英文没有官方中文版。社区中存在第三方汉化包通常以替换或注入资源文件的方式把菜单文本变成中文。如果你是刚接触工具对 Proxy、Request、Response 这些单词还不熟悉使用汉化包可以降低学习门槛。但要注意两个问题第一汉化包版本必须和 BurpSuite 主程序版本匹配。新版本推出后汉化包没有及时更新界面可能一半中文一半英文甚至启动报错。第二第三方汉化包来源要谨慎。BurpSuite 本身是安全测试工具经常需要被授予较高系统权限。运行来路不明的汉化包相当于把一个未知程序放进了信任边界。建议只在本地学习环境中使用汉化包生产机器或工作电脑尽量使用官方英文版。3.4 主界面模块速查表学习初期不需要记住所有模块。以下表格列出几个最常用的模块模块功能入门重要程度Proxy拦截与查看 HTTP 请求和响应核心模块必须掌握Target站点地图、Scope 范围设置建议掌握Repeater手动修改请求并重放方便观察响应必须掌握Intruder自动批量替换请求参数进阶学习DecoderURL、Base64 等编码解码辅助使用Logger查看 BurpSuite 收到的全局日志排错使用4. 配置浏览器代理和 HTTPS 证书这是新手最常卡住的一步4.1 为什么必须先手动设置代理前面提到BurpSuite 启动的是一个本地代理。浏览器默认不会使用它所以你需要在浏览器中手动指定代理服务器。代理配置听起来简单实际影响很大。如果代理设错了浏览器所有请求都会失败如果忘记关闭代理即使关掉 BurpSuite浏览器依然无法访问网络。因此建议新手使用一个独立浏览器或 Firefox 无痕窗口作为练习环境避免影响日常上网使用的默认浏览器。4.2 Firefox 手动代理配置演示Firefox 是新手练习抓包的首选浏览器因为它的代理设置独立于系统不会影响操作系统里其他软件。操作路径如下Firefox 设置 - 常规 - 网络设置 - 设置 - 手动配置代理 - HTTP 代理127.0.0.1 - 端口8080 - 勾选“同时将此代理用于 HTTPS”这里要特别注意配置界面下方可能出现“不使用代理服务器”的地址列表有些版本默认会包含localhost, 127.0.0.1。如果你后续抓不到本机请求回到这里删除localhost和127.0.0.1记录或者关闭对本地地址绕过代理的选项。配置完成后在 Firefox 地址栏访问任意 HTTP 网站请求都会先进入 BurpSuite。此时如果 BurpSuite 拦截功能是关闭状态页面会正常打开同时请求记录会出现在 Proxy 模块的 HTTP History 中。4.3 Chrome 或系统代理的配置方式Chrome 默认使用系统代理所以你需要配置操作系统的代理设置。Windows 系统路径一般是设置 - 网络和 Internet - 代理 - 手动设置代理 - 编辑 - 打开“使用代理服务器” - 地址127.0.0.1 - 端口8080 - 保存macOS 系统路径一般是系统偏好设置 - 网络 - 当前网络 - 高级 - 代理 - Web 代理HTTP - 服务器127.0.0.1 - 端口8080配置完成后重启 Chrome新的代理设置才会
返回列表