【愚公系列】《Web应用安全》008-Burp Suite 工具的使用
【行业认证·权威头衔】✔ 华为云天团核心成员特约编辑/云享专家/开发者专家/产品云测专家✔ 开发者社区全满贯CSDN博客商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金亚马逊51CTO顶级博主✔ 技术生态共建先锋横跨鸿蒙、云计算、AI等前沿领域的技术布道者【荣誉殿堂】 连续三年蝉联华为云十佳博主2022-2024 双冠加冕CSDN年度博客之星TOP220222023 十余个技术社区年度杰出贡献奖得主【知识宝库】覆盖全栈技术矩阵◾ 编程语言.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$nameflag;$valueSuccess!;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: flagSuccess%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、验证命令注入漏洞核心操作快捷键CtrlI发送到 Intruder/ CtrlR发送到 Repeater配置后点击 Start AttackCtrlR从 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 练习题目可再次使用提示词模板指定任务类型。