Burp Suite 介绍

Burp Suite 是一款广泛用于网络安全测试的集成化工具,它主要用于渗透测试、漏洞扫描和安全审计。通过对网络流量的捕获、分析、修改,Burp Suite 可以帮助安全研究员和渗透测试人员发现Web应用中的潜在安全漏洞。本文将介绍 Burp Suite 的各个关键组件及其应用场景,帮助大家更好地理解和使用这款强大的工具。

1. 什么是 Burp Suite

Burp Suite 是一个集成式的 Web 安全测试平台,广泛应用于渗透测试、漏洞扫描和Web应用安全审计。它支持从流量拦截到漏洞检测的整个过程,能够帮助安全专家评估 Web 应用程序的安全性。Burp Suite 具有多个模块,功能强大且易于定制,特别适合发现和利用 Web 应用中的安全漏洞,如 XSS、SQL 注入、CSRF、文件上传漏洞等。

2. Burp Suite 的关键组件及其作用

Burp Suite 拥有多个强大的模块,下面将一一介绍这些组件及其应用场景。

2.1 Proxy

作用:Proxy 是 Burp Suite 的核心组件,用于拦截、修改和转发 HTTP(S) 请求和响应。它可以在浏览器和 Web 服务器之间建立一个代理服务器,捕获 Web 请求和响应,并允许用户修改这些请求和响应数据。

应用场景

  • 抓包:捕获 HTTP 请求和响应数据包,分析并修改请求内容。
  • 筛选危险端口:可以检查不安全的端口和协议,避免被攻击者利用。
  • 漏洞测试:对 HTTP 请求进行修改和重发,用于验证漏洞,如 SQL 注入、XSS 等。
    在这里插入图片描述

2.2 Spider

作用:Spider 用于自动化地爬取 Web 应用程序,遍历网页上的链接,收集网站的结构信息。

应用场景

  • 爬取网站内容:通过自动化的链接跟踪,帮助测试人员发现 Web 应用的所有页面。
  • 目录枚举:探测网站的隐藏目录或页面。
  • 发现潜在漏洞:在爬取过程中,可能会发现未经过安全审计的接口或页面。

2.3 Scanner

作用:Scanner 是用于自动化漏洞扫描的工具,能够识别 Web 应用中的常见安全漏洞,如 SQL 注入、XSS、CSRF 等。

应用场景

  • 自动化漏洞检测:快速扫描 Web 应用中的常见漏洞。
  • 漏洞验证:通过自动化的扫描,帮助测试人员验证是否存在潜在漏洞。

2.4 Intruder

作用:Intruder 用于执行各种攻击任务,如暴力破解、枚举测试、参数篡改等。它支持多种攻击类型和多种攻击方式(基于字典、基于突变等)。

应用场景

  • 暴力破解:通过穷举密码、令牌等信息,进行暴力破解测试。
  • 枚举:通过枚举用户、目录、参数等,寻找潜在的安全风险。
  • 参数篡改:修改 HTTP 请求的参数,测试 Web 应用的抗篡改能力。
    在这里插入图片描述

2.5 Repeater

作用:Repeater 用于手动修改和重新发送单个 HTTP 请求,可以帮助安全研究人员对特定请求进行详细分析和反复测试。

应用场景

  • 发包改包:可以手动修改 HTTP 请求的内容,检查不同参数对响应的影响。
  • 漏洞验证:反复发送修改后的请求,测试 Web 应用是否存在漏洞。
    在这里插入图片描述

2.6 Decoder

作用:Decoder 可以用于对各种编码和加密的数据进行解码或加密,如 Base64、URL 编码、HTML 编码等。

应用场景

  • 解码恶意输入:通过解码 URL 或参数中的数据,检查是否包含恶意代码(如 SQL 注入、XSS)。
  • 数据加密:加密敏感数据,用于模拟攻击者的加密方式。
    在这里插入图片描述

2.7 Comparer

作用:Comparer 用于比较两个不同的请求、响应或其他数据之间的差异。

应用场景

  • 比较数据差异:用于分析不同请求或响应之间的差异,如检查两次请求返回的数据是否有变化。
  • 漏洞分析:比较具有漏洞和没有漏洞的请求,帮助识别漏洞特征。
    在这里插入图片描述

2.8 Sequencer

作用:Sequencer 用于分析会话令牌的随机性,帮助测试人员评估应用程序会话管理的安全性。

应用场景

  • 会话令牌分析:分析应用程序中会话令牌的生成算法,检查是否容易被预测。
  • 提高会话安全性:帮助开发者识别潜在的会话管理漏洞。

2.9 Extender

作用:Extender 允许用户安装额外的插件来扩展 Burp Suite 的功能。

应用场景

  • 功能扩展:通过安装插件,增强 Burp Suite 的功能,如支持更多类型的攻击、扫描或分析方法。
  • 定制化需求:根据测试需求,定制化 Burp Suite 的功能。
    在这里插入图片描述

2.10 Logger

作用:Logger 用于记录通过代理的所有 HTTP 请求和响应的详细信息。

应用场景

  • 审计和分析:记录所有的请求和响应,供后续分析。
  • 调试:帮助测试人员回溯请求和响应的过程,调试问题。
    在这里插入图片描述

2.11 Target

作用:Target 用于定义和管理测试目标,添加网站的相关信息和测试范围。

应用场景

  • 目标管理:帮助用户组织和管理多个测试目标,便于在不同网站间切换。
  • 范围设定:定义测试范围,确保渗透测试不越过边界。
    在这里插入图片描述

3. Burp Suite 的应用场景

Burp Suite 在多个领域中都具有重要应用,以下是它的主要应用场景:

3.1 安全审计

安全审计是对 Web 应用程序进行全面的安全性检查,Burp Suite 可以帮助安全审计员识别常见的安全漏洞,如 SQL 注入、XSS、文件上传漏洞等。

3.2 渗透测试

渗透测试是模拟攻击者的行为,尝试发现 Web 应用程序的漏洞并加以利用。Burp Suite 是渗透测试中必不可少的工具,利用其 Proxy、Scanner、Intruder 等模块,可以对 Web 应用程序进行全面的渗透测试。

3.3 安全研究

安全研究人员使用 Burp Suite 来研究 Web 安全漏洞的利用方式、攻击路径和防御措施。它的各项功能为漏洞分析和安全防护研究提供了强大的支持。

4. Burp Suite 的汉化破解流程

4.1 安装 JDK 17

在进行 Burp Suite 汉化破解之前,首先需要确保计算机上安装了 Java 开发工具包(JDK)。Burp Suite 需要 Java 环境支持才能运行。

步骤

  1. 下载 JDK 17 安装包。
  2. 按照默认设置进行安装。

4.2 查看 Java 是否已安装

安装完成后,可以通过命令行查看是否已正确安装 Java。

步骤

  1. 打开命令提示符(CMD)。
  2. 输入以下命令检查是否安装成功:
    java
    
  3. 如果看到 Java 相关信息,说明 Java 已安装。如果提示 “不是内部或外部命令”,则需要重新安装或设置环境变量。

4.3 查看 Java 版本

为了确保所安装的 Java 版本与 Burp Suite 兼容,可以使用 java -version 命令查看 Java 版本。

步骤

  1. 在命令行中输入以下命令:
    java -version
    
  2. 确认 Java 版本为 JDK 17,或者其他适用版本。

4.4 安装 Burp Suite

接下来是 Burp Suite 的安装步骤。我们以 Burp Suite 2021.9.1 版本为例。

步骤

  1. 下载并运行 Burp Suite 2021.9.1 安装包。
  2. 根据提示一路点击“下一步”,完成安装。

4.5 运行 Burp Suite Loader

安装完成后,需要运行 burpsuiteloader 来启动 Burp Suite。

步骤

  1. 打开安装目录,找到并运行 burpsuiteloader
  2. 若没有找到该文件,可以在 Burp Suite 安装目录下检查。

4.6 找到 burpsuiteloader 的安装路径

为了便于破解操作,需要找到 burpsuiteloader 文件并复制到合适的位置。

步骤

  1. 打开文件资源管理器,进入 C:\Users\admin\AppData\Local\BurpSuitePro 路径。
  2. 找到并复制 burpsuiteloader 文件。
  3. 粘贴到同一目录,刷新文件并运行 burpsuiteloader

4.7 复制 License 到 Key 中

Burp Suite 的破解过程包括生成激活请求并手动激活。

步骤

  1. 将许可证文件复制到 key 文件中。
  2. 点击“下一步”进入手动激活界面。
  3. 复制生成的激活请求,粘贴到激活请求区域。

4.8 生成并粘贴激活请求

运行上述步骤后,Burp Suite 会生成一个激活请求。

步骤

  1. 将激活请求复制并粘贴到指定区域。
  2. 点击“下一步”继续。

4.9 完成激活流程

当激活请求正确输入后,继续运行并完成激活。

步骤

  1. 点击“响应”,然后点击“下一步”。
  2. 继续操作,直到提示激活完成。

4.10 关闭 Burp Suite

完成激活后,关闭 Burp Suite。

步骤

  1. 点击菜单中的“帮助” > “许可证”。
  2. 关闭 Burp Suite 程序。

4.11 创建破解批处理文件

为了方便每次启动时自动加载破解和汉化程序,可以创建一个批处理文件(.bat 文件)。

步骤

  1. 在桌面新建一个文本文件,确保文件后缀名为 .bat

  2. 打开文件,输入以下破解和汉化程序代码:

    @echo off
    cd C:\Users\admin\AppData\Local\BurpSuitePro
    start javaw -Dfile.encoding=utf-8 -javaagent:BurpSuiteCN.jar -noverify -javaagent:BurpSuiteLoader.jar -jar burpsuite_pro.jar
    

    解析

    • @echo off:关闭命令行显示,避免显示多余的信息。
    • cd C:\Users\admin\AppData\Local\BurpSuitePro:切换到 Burp Suite 的安装目录。
    • start javaw -Dfile.encoding=utf-8:使用 UTF-8 编码运行 Java 程序,确保汉化无乱码。
    • -javaagent:BurpSuiteCN.jar:加载汉化文件(BurpSuiteCN.jar),用于将 Burp Suite 界面语言改为中文。
    • -javaagent:BurpSuiteLoader.jar:加载破解工具(BurpSuiteLoader.jar),用于解锁 Burp Suite 的专业版功能。
    • -jar burpsuite_pro.jar:启动 Burp Suite 的主程序。

4.12 运行 .bat 文件

完成上述步骤后,双击运行 .bat 文件,Burp Suite 将以汉化并破解后的版本启动。

5. Burp Suite 如何进行本地浏览器 Web 端抓包和 App 渗透测试

5.1 Web 本地浏览器抓包

在 Web 应用程序的渗透测试中,Burp Suite 通常用于抓取和分析本地浏览器与服务器之间的 HTTP(S) 请求与响应。为了让浏览器的流量通过 Burp Suite 代理进行捕获,需要进行如下配置:

5.1.1 设置代理端口
  1. 设置 Burp Suite 的代理端口:打开 Burp Suite,点击 “Proxy” 标签页,选择 “Options”。在 “Proxy Listeners” 部分,确保 “Interface” 设置为 “127.0.0.1”(即回环地址),端口设置为 8080。这将确保 Burp Suite 仅在本地接收请求。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  2. 配置浏览器代理:在浏览器中,将代理地址设置为 127.0.0.1:8080,这意味着浏览器的所有请求将通过 Burp Suite 代理服务器进行转发。可以通过浏览器的代理设置进行配置,或者使用专门的插件如 FoxyProxy 进行快速切换。
    在这里插入图片描述在这里插入图片描述

5.1.2 配置 HTTPS 抓包

抓取 HTTPS 网站时,需要安装 Burp Suite 的证书,因为 HTTPS 请求是加密的,Burp Suite 需要解密这些请求。

  1. 配置 Burp Suite 证书

    • 在 Burp Suite 的 “Proxy” -> “Intercept” 标签页下,点击 “Options”。
    • 选择 “Import / Export CA Certificate”,然后导出 Burp Suite 的根证书。在这里插入图片描述
  2. 安装证书到浏览器

    • 将导出的证书文件安装到浏览器中,确保浏览器能够信任 Burp Suite 作为根证书。这通常可以在浏览器的设置中找到证书管理选项进行安装。
  3. 抓取 HTTPS 流量

    • 配置好证书后,Burp Suite 就可以解密 HTTPS 流量了,您可以像抓取普通 HTTP 流量一样抓取和分析 HTTPS 请求。

5.2 手机 App 渗透测试

对于移动应用(App)的渗透测试,Burp Suite 也能发挥重要作用。通过设置模拟器或物理设备的代理,将手机的流量通过 Burp Suite 进行抓包和分析,可以帮助测试人员发现 App 中的安全漏洞。

5.2.1 安装模拟器并运行
  1. 选择模拟器:为了模拟移动设备的网络请求,我这里使用 Android 模拟器(如 雷电模拟器)或其他移动设备模拟工具。
  2. 启动模拟器:确保模拟器能够正常运行,并且安装了需要测试的应用。
5.2.2 导入 Burp Suite 证书

为了抓取 HTTPS 流量,需要在模拟器中安装 Burp Suite 的证书。

  1. 更改证书文件后缀:将 Burp Suite 导出的证书文件(.der)更改为 .cer 格式,这样可以在模拟器中正常识别和导入证书。在这里插入图片描述

  2. 将证书复制到模拟器

    • 通过模拟器的共享文件夹或 ADB 工具将证书文件传输到模拟器中。
    • 将证书文件放置在模拟器中的合适位置。在这里插入图片描述
  3. 安装证书

    • 在模拟器中找到证书文件,双击打开,按照提示安装证书,并将证书命名为 “Burp”。
    • 完成证书安装后,模拟器将信任通过 Burp Suite 代理的 HTTPS 请求。在这里插入图片描述
5.2.3 配置模拟器的代理设置

为了让模拟器的网络流量通过 Burp Suite 进行抓包,需要配置模拟器的代理设置。

  1. 获取本机的 IP 地址

    • 打开命令提示符(CMD)并输入 ipconfig,找到本机的 IP 地址。在这里插入图片描述
  2. 配置模拟器的网络代理

    • 在模拟器中打开 Wi-Fi 设置,选择已连接的网络,长按网络名称,选择 “修改网络”。
    • 在 “代理” 选项中选择 “手动”,并输入以下内容:
      • 代理服务器主机名:输入计算机的 IP 地址。
      • 代理端口:默认为 8080在这里插入图片描述在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
  3. 设置 Burp Suite

    • 在 Burp Suite 中,进入 “Options” -> “Proxy Listeners”,点击 “Add” 按钮,设置监听指定的 IP 地址,并确保绑定的端口与模拟器中的端口(默认为 8080)一致。
      在这里插入图片描述在这里插入图片描述
5.2.4 抓个包在 Burp Suite 中查看流量

完成以上配置后,模拟器中的所有网络请求都将通过 Burp Suite 代理。通过 Burp Suite 的 “Proxy” -> “Intercept” 标签页,你可以看到来自模拟器的所有 HTTP 和 HTTPS 请求。你可以查看请求的详细信息,修改请求,或重发请求,进行进一步的渗透测试。
在这里插入图片描述

6. Burp Suite 如何进行暴力破解和验证码识别绕过

6.1 插件安装与使用

为了进行验证码识别绕过,Burp Suite 需要安装并使用 captcha-killer-modified 插件。该插件可以帮助识别和绕过常见的验证码。

6.1.1 插件安装
  1. 下载插件

    • 访问 GitHub 仓库 下载 captcha-killer-modified-0.24.6-jdk11.jarcodereg.py插件文件。在这里插入图片描述
  2. 启动 Burp Suite

    • 打开 Burp Suite,并进入 Extensions 模块。
  3. 添加插件

    • 在 Burp Suite 中,点击左侧菜单中的 Extensions,然后点击 Add 按钮。
    • 在弹出的对话框中,点击 Select file,选择下载的插件文件 captcha-killer-modified-0.24.6-jdk11.jar
    • 点击 Next 完成插件的安装。
      在这里插入图片描述
      在这里插入图片描述

6.2 使用测试案例

在测试过程中,验证码识别通常与暴力破解结合使用。以下是利用插件进行验证码识别并结合暴力破解进行攻击的操作步骤。

6.2.1 获取验证码
  1. 抓取验证码图片

    • 打开目标网站,找到包含验证码的登录页面,在新标签页打开验证码链接(这里以某棋牌登录后台为例)

    • 在这里插入图片描述

    • 通过 Burp Suite 的 Proxy 捕获请求数据包。

    • 右键点击验证码图片的链接,选择 Extensions -> captcha-killer-modified 0.24 -> captcha-killer -> Send to captcha panel,将验证码请求发送到插件面板中。在这里插入图片描述

  2. 识别验证码

    • 在插件面板中,点击 Get获取按钮获取验证码。
    • 如果成功识别并显示验证码,说明插件已正确配置并能够识别该验证码。
      在这里插入图片描述
6.2.2 配置本地接口监听
  1. 启动验证码识别服务

    • 打开命令行工具,运行 codereg.py 文件以启动本地验证码识别接口监听。
    • 使用以下命令启动:
      python codereg.py
      
    • 默认接口监听地址为 127.0.0.1:6666,您可以根据需要修改端口号。在这里插入图片描述
  2. 配置 Burp Suite 插件的接口

    • 在插件的设置页面中,右键Request template,选择模板库为ddddocr,将接口 URL 改填写为本机监听端口,如 http://127.0.0.1:6666,并确保端口号与 codereg.py 的监听端口一致。在这里插入图片描述
6.2.3 成功识别验证码

当插件成功识别验证码后,您可以看到右侧的验证码内容。这表明验证码识别已经完成,可以继续进行攻击测试。
在这里插入图片描述

6.3 暴力破解模块搭配

在结合暴力破解进行登录测试时,可以尝试使用 Burp Suite 的 Intruder 模块来发送暴力破解请求。验证码识别和密码字典攻击将共同作用,帮助成功登录目标系统。

6.3.1 配置 Intruder 进行攻击
  1. 抓取登录请求

    • 在 Burp Suite 的 Proxy 中,捕获目标网站的登录请求数据包。
    • 右键点击该数据包,选择 Send to Intruder,将请求发送到 Intruder 模块。在这里插入图片描述在这里插入图片描述
  2. 配置攻击目标

    • Intruder 中,选择 Pitchfork 攻击类型,payload标记出登录请求中的用户名、密码和验证码字段。用户名字段可以使用字典攻击,密码字段和验证码字段将分别使用不同的 Payload。在这里插入图片描述
  3. 设置暴力破解 Payload

    • 验证码 Payload:选择 Extensions 中的 captcha-killer 作为验证码的 Payload 输入方式。

      • 选择模板库中的 ddddocr,并确保在爆破过程中,验证码的识别使用的是插件提供的识别功能。在这里插入图片描述在这里插入图片描述
        在这里插入图片描述
    • 密码 Payload:使用字典文件作为密码的 Payload。可以选择常见的密码字典,如 rockyou.txt,进行暴力破解。在这里插入图片描述

  4. 设置并发

    • 设置最大并发为 1,避免多线程导致验证码识别失败。
    • 设置权重为 1000,确保验证码识别插件的优先级足够高。
      在这里插入图片描述
6.3.2 启动暴力破解攻击
  1. 开始攻击
    • 配置好所有的 Payload 和攻击参数后,点击 Start Attack 按钮启动暴力破解攻击。
    • 通过 Burp Suite 的 Intruder 模块,Burp Suite 会自动使用验证码识别插件的识别结果来配合密码字典进行爆破,直到成功登录或攻击结束。

在这里插入图片描述
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐