首页 渗透工具 正文

AuthKit:Burp Suite 越权检测插件,一键搞定未授权访问、水平越权与垂直越权排查

摘要

越权漏洞一直是 Web 渗透测试和 SRC 挖掘中的高频问题,但手工逐个改包、逐个比对响应的方式效率极低,面对成百上千个接口时更是力不从心。**AuthKit 是一款面向渗透测试人员和安全工程师的 Burp Suite 越权检测插件,它能把一条业务请求自动扩展为 Original / Unauthorized / 多角色对比样本,帮助测试人员快速发现未授权访...

越权漏洞一直是 Web 渗透测试和 SRC 挖掘中的高频问题,但手工逐个改包、逐个比对响应的方式效率极低,面对成百上千个接口时更是力不从心。**AuthKit 是一款面向渗透测试人员和安全工程师的 Burp Suite 越权检测插件,它能把一条业务请求自动扩展为 Original / Unauthorized / 多角色对比样本,帮助测试人员快速发现未授权访问、水平越权、垂直越权以及对象级授权缺失(BOLA)**问题。

与同类工具相比,AuthKit 基于 Montoya API 开发,界面友好、指标维度丰富,既支持被动捕获流量,也支持右键主动送测,可以无缝嵌入 Burp 的日常测试流程。项目已在 GitHub 开源:https://github.com/youmulijiang/AuthKit

AuthKit 插件主界面:数据表与请求响应对比面板

产品介绍:AuthKit 是什么

AuthKit 的定位是一款**越权检测辅助工具**。它不试图替代人工判断,而是把"换身份重放请求、逐字节比对响应"这类重复性工作自动化,让测试人员把精力集中在业务逻辑分析上。

具体来说,AuthKit 会针对同一条请求生成多份样本:

  • Original:原始请求,作为比对基准;
  • Unauthorized:移除认证头后的未授权请求,用于排查未授权访问;
  • UserA / UserB / ...:不同角色身份的重放请求,用于发现水平越权与垂直越权。

每个样本的响应都会被量化成可对比的指标,测试人员扫一眼表格就能锁定可疑接口,再深入查看报文细节。

核心功能

多身份自动重放

勾选启用后,AuthKit 会自动为每条进入范围的请求生成 Original、Unauthorized 以及 UserA/UserB 等多个角色的重放结果,无需手工复制请求到 Repeater 反复改包。

多维指标展示

插件为每个鉴权对象计算并展示五类指标:Length(响应长度)、Status Code(状态码)、Hash(响应哈希)、AttributeNum(属性数量)、Rank(风险评分)。不同身份的响应差异被压缩成一行数据,比对成本大幅降低。

快速定位异常

数据表格支持差异染色,响应不一致的单元格会直接标红;点击可疑的鉴权对象列,右侧面板会联动展示对应的 Target 响应,并可在 View 中切换 Source / Target / Diff 三个视角逐行比对报文差异。

AuthKit 多身份响应对比与差异染色视图

右键菜单联动

在 Proxy 历史或 Repeater 中选中请求,右键即可 Send to AuthKit 主动送测;也可以通过 Extract Auth to User 一键把请求中的认证信息提取为测试角色,省去手工复制 Cookie 的步骤。

灵活范围控制

支持 Domain Scope(域名范围)、Request Filter(请求过滤)和 Tool Type Scope(工具来源范围)三层控制,避免无关流量干扰分析,也防止认证头被重放到目标之外的站点。

JWT 辅助面板

插件内置 JWT 工具页,支持 Token 的解码、编码、签名校验和密钥爆破,遇到以 JWT 作为会话凭证的目标时可以直接在插件内完成分析和伪造验证。

AuthKit JWT 解码、校验与爆破面板

技术优势

维度 说明
开发框架 基于 Burp Suite 官方 Montoya API 开发,兼容新版 Burp
检测覆盖 未授权访问、水平越权、垂直越权、BOLA 四类问题一次覆盖
流量接入 被动捕获(Proxy)与主动送测(右键菜单)双通道
身份扩展 认证头替换 + 参数替换(Param Replacement),角色数量不受限
结果呈现 差异染色 + 元数据面板 + Response Diff,三层递进定位
工具联动 支持 Proxy / Repeater / Intruder / Extensions 来源筛选

安装与使用教程

环境要求

  • Java 17+
  • Maven 3.8+(仅源码构建需要)
  • Burp Suite(支持 Montoya API 的版本)

获取插件

方式一:直接下载官方发布包。项目在 Releases 页面提供了预编译产物,按本机 Java 版本选择即可:

  • Java 17:AuthKit-java17.jar
  • Java 21:AuthKit-java21.jar

下载地址:https://github.com/youmulijiang/AuthKit/releases

方式二:本地源码构建。克隆仓库后执行:

mvn clean package

构建产物示例:

target/AuthKit-1.0-SNAPSHOT.jar

加载到 Burp

打开 Burp Suite,依次进入 Extensions -> Installed -> Add,选择上一步得到的 JAR 文件,加载成功后顶部会出现 AuthKit 标签页。

最小配置

  1. Configuration 中勾选 Enable Plugin 启用插件;
  2. Auth Headers 中填写未授权场景下需要移除的请求头,例如:CookieAuthorizationToken
  3. 保持 Tool Type Scope 默认值:ProxyRepeater
  4. User 标签页中添加测试角色,为每个角色配置认证头或参数替换规则。

AuthKit 配置页:域名范围、工具范围与认证头设置

配置页还支持域名过滤、HTTP 方法过滤、路径过滤、状态码过滤和静态资源后缀黑名单,建议在使用前按目标范围收紧规则,既提升信噪比,也避免认证信息外泄。

AuthKit 用户角色配置:认证头替换与参数替换

角色配置中,认证头按 HeaderName: HeaderValue 每行一条填写,参数替换按 paramName=newValue 每行一条填写,格式简洁,上手成本低。

日常使用流程

  1. 在 Proxy / Repeater 中正常浏览业务、捕获请求,或对存量请求右键 Send to AuthKit
  2. 先扫 DataTable 中的 Length / Hash / AttributeNum / Rank 四列,找出异常行;
  3. 点击可疑的鉴权对象列,联动查看 Target 的 Response;
  4. 在 View 中切换 Source / Target / Diff 逐行比对;
  5. 结合业务语义确认是否真实存在越权。

怎么看检测结果

优先级较高的信号包括:

  • Unauthorized 样本的 Rank 偏高;
  • 不同角色样本的 HashLengthAttributeNum 高度接近;
  • 状态码虽然不同,但响应内容差异很小;
  • 本应被拒绝的请求仍然返回了业务字段或对象数据。

需要强调的是,Rank 只是风险提示,不是漏洞结论。高分接口优先排查,低分也不代表绝对安全——越权漏洞的最终判定永远离不开业务逻辑,工具负责缩小范围,人负责下结论。

应用场景

  • 未授权访问排查:利用 Unauthorized 样本批量验证接口是否做了登录态校验;
  • 水平越权测试:用 UserA / UserB 两个同级账号互相对比,检查能否读写他人数据;
  • 垂直越权测试:用 User / Admin 对比,验证普通账号能否触达管理端功能;
  • BOLA / IDOR 验证:通过参数替换修改资源 ID、租户 ID、用户 ID 等对象标识,检验对象级访问控制;
  • 高风险接口巡检:在 Proxy / Repeater 中批量送测核心接口,快速筛出需要人工深挖的目标。

总结

对于经常做越权测试的安全从业者来说,AuthKit 把"换身份、重放、比对"这条流水线压缩进了一个 Burp 标签页:多身份自动重放解决重复发包问题,Length / Hash / AttributeNum / Rank 多维指标解决快速筛选问题,差异染色和 Response Diff 解决细节确认问题。如果你正在寻找一款轻量、直观的 **Burp 越权检测插件**,不妨到 GitHub 下载试用:

觉得好用可以给项目点个 Star,也欢迎提交 Issue 和 PR 参与共建。


收藏 0
评论
博主关闭了评论
友情链接