doyensec/burp-session-switcher
GitHub: doyensec/burp-session-switcher
一款 Burp Suite 扩展,允许安全测试人员在请求编辑器中快速保存和一键切换 Cookie 与 Header 会话,以高效进行越权漏洞测试。
Stars: 3 | Forks: 0
# Session Switcher - 一键切换会话的 Burp 扩展
你也可以使用扩展主标签页中的 **New** 按钮手动创建会话,但从一个现有的请求开始要容易得多。
### 切换会话
一旦你至少保存了一个会话,你就可以使用请求编辑器(Request Editor)中 **Session** 标签页里的会话选择器,来交换任何(可编辑的)请求的会话,例如在 Repeater 中或 Proxy 中拦截的请求。
当你从列表中选择一个会话时,扩展会将请求的 Cookies 和 Headers 替换为所选会话中保存的内容。其正下方的按钮允许你轻松地 **Edit** (编辑) 或 **Delete** (删除) 现有会话,从当前请求中 **Update** (更新) 它(即,将请求的 Cookies/Headers 保存到选定的会话中),或者使用 **New** 按钮创建一个新会话。
默认情况下,切换器只会列出当前请求所在域名的会话。你可以在设置中更改此行为。
### Sessions 标签页
主要的 Sessions 标签页列出了存储在项目文件中的所有会话,并允许你对其进行管理。在那里,你可以检查和编辑所有已保存会话的内容。
### 自动更新规则
通过自动更新(Auto Updates),你可以设置一些规则来跟踪通过 Proxy 发出的浏览器请求,从而自动保持会话处于最新状态。
例如,你可以创建一个规则来跟踪所有包含 `X-User: alice` header 的请求,并在检测到新的 Cookies/Headers 时自动更新 `alice` 会话。这样一来,每当 JWT 过期或者你在注销后重新登录应用时,就不必再手动更新会话了。
当然,还有更复杂的条件可用,请务必查看[文档](docs/auto_update_rules.md)以获取更多详细信息。
### 设置
在扩展设置中,你可以配置一些选项,例如扩展在某些情况下的行为,例如在更新或交换会话时。在 [docs/settings.md](docs/settings.md) 中阅读有关可用设置的更多信息。
## :arrow_down: 安装
你可以直接下载最新的 `.jar` 文件发布版本并将其导入 Burp。
此扩展至少需要 Burp v2025.5 版本。它无法在旧版本上运行。
## :computer: 从 git 构建
1. 安装 Java 21+。例如,在基于 Debian 的发行版中:
```
$ sudo apt install -y openjdk-21-jdk
$ java --version
openjdk 21.0.9 2025-10-21
```
2. 克隆仓库
```
$ git clone https://github.com/doyensec/burp-session-switcher
$ cd burp-session-switcher
```
3. 使用 Gradle 构建 Session Switcher
```
$ ./gradlew build
```
将文件 `SessionSwitcher.jar` 作为 Java 扩展加载到 Burp 中。
你也可以使用扩展主标签页中的 **New** 按钮手动创建会话,但从一个现有的请求开始要容易得多。
### 切换会话
一旦你至少保存了一个会话,你就可以使用请求编辑器(Request Editor)中 **Session** 标签页里的会话选择器,来交换任何(可编辑的)请求的会话,例如在 Repeater 中或 Proxy 中拦截的请求。
当你从列表中选择一个会话时,扩展会将请求的 Cookies 和 Headers 替换为所选会话中保存的内容。其正下方的按钮允许你轻松地 **Edit** (编辑) 或 **Delete** (删除) 现有会话,从当前请求中 **Update** (更新) 它(即,将请求的 Cookies/Headers 保存到选定的会话中),或者使用 **New** 按钮创建一个新会话。
默认情况下,切换器只会列出当前请求所在域名的会话。你可以在设置中更改此行为。
### Sessions 标签页
主要的 Sessions 标签页列出了存储在项目文件中的所有会话,并允许你对其进行管理。在那里,你可以检查和编辑所有已保存会话的内容。
### 自动更新规则
通过自动更新(Auto Updates),你可以设置一些规则来跟踪通过 Proxy 发出的浏览器请求,从而自动保持会话处于最新状态。
例如,你可以创建一个规则来跟踪所有包含 `X-User: alice` header 的请求,并在检测到新的 Cookies/Headers 时自动更新 `alice` 会话。这样一来,每当 JWT 过期或者你在注销后重新登录应用时,就不必再手动更新会话了。
当然,还有更复杂的条件可用,请务必查看[文档](docs/auto_update_rules.md)以获取更多详细信息。
### 设置
在扩展设置中,你可以配置一些选项,例如扩展在某些情况下的行为,例如在更新或交换会话时。在 [docs/settings.md](docs/settings.md) 中阅读有关可用设置的更多信息。
## :arrow_down: 安装
你可以直接下载最新的 `.jar` 文件发布版本并将其导入 Burp。
此扩展至少需要 Burp v2025.5 版本。它无法在旧版本上运行。
## :computer: 从 git 构建
1. 安装 Java 21+。例如,在基于 Debian 的发行版中:
```
$ sudo apt install -y openjdk-21-jdk
$ java --version
openjdk 21.0.9 2025-10-21
```
2. 克隆仓库
```
$ git clone https://github.com/doyensec/burp-session-switcher
$ cd burp-session-switcher
```
3. 使用 Gradle 构建 Session Switcher
```
$ ./gradlew build
```
将文件 `SessionSwitcher.jar` 作为 Java 扩展加载到 Burp 中。标签:Burp Suite 扩展, JS文件枚举, Web安全, 代码注入, 会话管理, 后台面板检测, 蓝队分析, 越权测试