iOS BurpSuite 抓包实现

1. 流程概述

下面是实现 iOS BurpSuite 抓包的整体流程:

pie
    "iOS设备配置" : 30
    "BurpSuite配置" : 30
    "iOS应用配置" : 30
    "抓包分析" : 10

2. iOS设备配置

在进行 iOS BurpSuite 抓包之前,我们需要先将 iOS 设备配置为使用 BurpSuite 代理。下面是配置步骤:

sequenceDiagram
    participant iOS设备
    participant BurpSuite

    iOS设备->>BurpSuite: 打开设置
    iOS设备->>BurpSuite: 选择 Wi-Fi
    BurpSuite->>iOS设备: 提供 Wi-Fi 代理配置信息
    iOS设备->>BurpSuite: 配置 Wi-Fi 代理
    BurpSuite->>iOS设备: 保存代理配置
  1. 打开 iOS 设备的 "设置"。
  2. 选择 "Wi-Fi" 选项。
  3. 提供的 Wi-Fi 代理配置信息,包括代理 IP 地址和端口号。
  4. 在 iOS 设备中,配置 Wi-Fi 代理,将代理 IP 地址和端口号输入。
  5. 保存代理配置。

3. BurpSuite 配置

在 iOS 设备配置好代理后,我们需要配置 BurpSuite 以接收来自 iOS 设备的网络流量。下面是配置步骤:

sequenceDiagram
    participant BurpSuite
    participant iOS设备

    BurpSuite->>iOS设备: 提供 BurpSuite 证书下载链接
    iOS设备->>BurpSuite: 下载 BurpSuite 证书
    iOS设备->>BurpSuite: 安装 BurpSuite 证书
    BurpSuite->>iOS设备: 配置 BurpSuite 代理
  1. 在 BurpSuite 中,获取 BurpSuite 证书下载链接。
  2. iOS 设备下载 BurpSuite 证书,可以通过浏览器访问下载链接并保存证书。
  3. 在 iOS 设备上安装 BurpSuite 证书,可以通过 "设置" > "通用" > "关于本机" > "证书信任设置" > "启用完整信任" 完成。
  4. 在 BurpSuite 中,配置代理监听 iOS 设备的流量,包括设置监听端口和选择监听接口。

4. iOS 应用配置

在 iOS 设备和 BurpSuite 都配置好后,我们需要对待抓包的 iOS 应用进行一些设置。下面是配置步骤:

sequenceDiagram
    participant iOS设备
    participant BurpSuite

    iOS设备->>BurpSuite: 打开待抓包的 iOS 应用
    iOS设备->>BurpSuite: 禁用 ATS
    iOS设备->>BurpSuite: 设置代理
  1. 在 iOS 设备上,打开待抓包的 iOS 应用。
  2. 禁用 ATS(App Transport Security),以允许应用使用未经验证的 SSL 证书。
  3. 在应用的网络配置中,设置代理为之前配置的 BurpSuite 代理。

5. 抓包分析

完成前面的步骤后,现在可以进行抓包分析了。下面是一些常见的抓包技巧和代码示例:

  • 拦截请求和响应:可以在 BurpSuite 中查看并拦截 iOS 应用与服务器之间的请求和响应。在 BurpSuite 中,可以对请求进行修改、重放或者丢弃。
  • 查看请求头和响应头:可以查看请求和响应的头部信息,包括 User-Agent、Cookies 等。
  • 分析请求体和响应体:可以查看请求和响应的具体内容,在其中寻找有价值的信息,比如 API 接口、敏感数据等。
// 设置代理
let proxyHost = "BurpSuite代理IP"
let proxyPort = 8080

let proxyDict: [AnyHashable: Any] = [
    "HTTPEnable": 1,
    "HTTPProxy": proxyHost,
    "HTTPPort": proxyPort,
    "HTTPSEnable": 1,
    "HTTPSProxy": proxyHost,
    "HTTPSPort": proxyPort