Skip to content

About

一款 Burp Suite 被动扫描IDOR漏洞插件

Resources

Stars

7 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

AuthMatrix Pro+ — IDOR 被动扫描 & JWT 安全检测 Burp 插件

v1.1.0 | 基于 Jython 的 Burp Suite 被动扫描插件,自动检测 未授权访问、水平越权、垂直越权 漏洞,覆盖增删改查全场景,内置 JWT 安全工具集(alg:none 被动扫描 + HMAC 密钥爆破被动扫描)。


功能特性

IDOR 检测引擎

检测维度 说明
未授权访问 物理删除所有认证信息后重放请求,或替换为 Guest Token
水平越权 替换为同权限级别其他用户的凭据,检测能否跨用户访问资源
垂直越权 替换为低权限用户凭据,检测能否执行高权限操作

全量请求记录

  • 所有替换后的重放请求均会记录到扫描结果,按认证类型(未授权 / 水平越权 / 垂直越权)分类展示
  • 检测到漏洞的记录标记 IDOR 标签(查 / 增 / 改 / 删),未发现漏洞的记录标记为灰色「安全」
  • 状态栏同时显示总记录数和告警数,便于整体把控扫描进度

右键菜单集成

  • 在 Burp Proxy History、Repeater 等面板中选中请求,右键选择 "发送到 AuthMatrix Pro+" 即可将请求直接推送到插件进行扫描
  • 支持批量选择多个请求一次性发送

结果排序与搜索

  • 扫描结果表格支持 点击列头排序(升序/降序切换)
  • 内置 实时搜索过滤栏,输入关键词即可过滤显示匹配的结果行(大小写不敏感)

CRUD 全场景覆盖

操作 检测方式 默认状态
查 (Read) 响应体相似度对比,超过阈值即判定为疑似漏洞 始终启用
增 (Create) 路径关键词匹配 + 响应关键词(如"已存在""重复") 默认开启
改 (Update) 路径关键词匹配 + 响应关键词(如"相同""未改变") 默认关闭
删 (Delete) 路径关键词匹配 + 响应关键词(如"不存在""已删除") 默认关闭
  • 同一条告警可同时携带多个 IDOR 标签,如 查+增、查+删
  • 增删改检测独立于查检测,互不干扰

JWT 安全工具集

交互式工具:

  • 解码 / 编码:粘贴 JWT Token 自动拆分 Header/Payload/Signature,编辑后可重新编码
  • alg:none 攻击:一键生成 4 种 alg 变体攻击向量
  • 密钥爆破:内置约 350 条常见弱密钥字典,对 HS256/HS384/HS512 算法进行离线爆破,字典可自由编辑扩展
  • 过期检测:自动检查 exp 字段是否过期
  • 时间戳工具:Unix 时间戳与日期互转,支持 Local/UTC 双时区

被动扫描(自动化):

  • alg:none 被动扫描:自动识别流量中的 JWT Token,将 alg 替换为 none/None/NONE/nOnE 四种变体并清空签名后重放。当请求中包含多个 JWT 时,会同时替换所有 JWT,全部绕过后响应仍相似才判定为漏洞。若服务端未校验签名(返回相似响应),则标记为 JWT 签名验证绕过漏洞
  • HMAC 密钥爆破被动扫描:对 HS256/HS384/HS512 签名的 JWT,使用内置字典自动离线爆破。若成功找到密钥,用该密钥重签并重放验证,确认后在扫描结果中标记漏洞和密钥
  • 每个唯一的 JWT Token 组合仅扫描一次,不会重复检测
  • 检测结果与 IDOR 检测结果统一展示在扫描结果 Tab,IDOR标签列显示 JWT

安装方法

前置条件

  1. Burp Suite Professional 或 Community Edition
  2. Jython Standalone JAR(2.7.x)

安装步骤

  1. 下载 Jython JAR:https://www.jython.org/download
  2. Burp Suite -> Extender -> Options -> Python Environment -> 选择 Jython JAR 路径
  3. Extender -> Extensions -> Add
    • Extension Type: Python
    • Extension File: 选择 AuthMatrix Pro.py
  4. 加载成功后,顶部会出现 AuthMatrix Pro+ Tab

使用指南

1. 基础配置

配置项 说明 建议值
激活插件 总开关 测试时开启
相似度阈值 重放响应与原始响应 Body 相似度达到此值则判定疑似越权 80%
HTTP 方法 勾选要检测的 HTTP 方法(仅影响 IDOR 检测,不影响 JWT 被动扫描) GET + POST 起步
响应排除关键字 响应体包含这些词则排除(仅影响「查」检测) error, denied, forbidden
域名 / 路径过滤 控制扫描范围(IDOR 和 JWT 共享此规则) 按需配置

2. 认证凭据

在「身份配置」Tab 中分别配置三种检测的凭据(未授权 / 水平越权 / 垂直越权):

  • 请求头 (Header):可视化表格,Name 填头名称(如 Cookie),Value 填头值(如 session=xxx)
  • 请求参数 (Parameter):可视化表格,Name 填参数名(如 csrf_token),Value 填参数值(如 guest_token)
  • 支持动态添加 / 删除行,GET 和 POST 参数均会替换
  • 智能匹配:只有原始请求中已包含对应请求头或参数时才会执行替换,不会向请求中新增原本不存在的头或参数,避免无效检测

3. 增删改检测

在「增删改配置」Tab 中配置:

  • 路径关键词:仅匹配 URL 路径 最后一层目录(如 /api/users/create 中的 create),降低中间路径误匹配噪音
  • 响应关键词:重放后响应体包含这些关键词时判定为疑似漏洞
  • PUT/PATCH 自动归入「改」,DELETE 自动归入「删」
  • 改和删的开关默认关闭,请根据测试环境谨慎开启

4. JWT 被动扫描

在「JWT工具」->「被动扫描」子页面中配置:

  • alg:none 被动扫描:默认开启。检测流量中 JWT 的签名验证是否可被绕过
  • HMAC 密钥爆破被动扫描:默认开启。使用字典尝试离线爆破 JWT 密钥
  • 爆破字典在「密钥爆破」子页面中维护,可自行添加/修改
  • JWT 被动扫描不受 HTTP 方法过滤限制,但共享域名和路径过滤规则

5. 查看结果

所有替换后的重放请求均会记录到扫描结果中,按认证类型分类。

列名 说明
认证类型 未授权(物理删除) / 未授权(GuestToken) / 水平越权 / 垂直越权 / JWT:alg:none(...) / JWT:WeakKey=...
IDOR标签 查 / 增 / 改 / 删 / JWT(可组合)/ 安全(未发现漏洞)
Sim% 重放响应与原始响应的相似度

颜色标记:

  • 紫色:JWT 漏洞
  • 蓝色:查越权
  • 绿色:增越权
  • 橙色:改越权
  • 红色:删越权
  • 灰色:安全(未发现漏洞)

6. JWT 交互式工具

解码 / 编码:

  1. 粘贴 Token -> 点击「解码 Decode」
  2. 编辑 Header/Payload JSON
  3. 点击「编码」重新生成 Token

密钥爆破:

  1. 粘贴待爆破的 JWT Token
  2. 内置约 350 条常见弱密钥,可自行添加
  3. 点击「开始爆破」,支持 HS256/HS384/HS512

时间戳工具:

  • Unix 时间戳与日期互转
  • 支持 Local 和 UTC 双时区显示

检测原理

查 (Read) IDOR

原始请求 (UserA) -> 200 + 业务数据
替换凭据重放     -> 200 + ???
判定: 响应体相似度 >= 阈值 AND 不含排除关键词 -> 疑似越权

增删改 (CUD) IDOR

双重判定,任一命中即为疑似漏洞:

  • 条件 A(相似度): 与查检测相同的相似度比对
  • 条件 B(响应语义): 响应包含操作特征关键词且状态码非 401/403
操作 特征关键词示例 判定逻辑
增 "已存在" "重复" "duplicate" 请求穿透鉴权层到达业务逻辑层
改 "相同" "未改变" "unchanged" 服务端比对了新旧值,鉴权缺失
删 "不存在" "已删除" "not found" 服务端查询了目标资源,鉴权缺失

JWT alg:none 被动扫描

原始请求: Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.xxx.sig
  1. 识别请求中的 JWT Token
  2. 构造 4 种 alg:none 变体: none / None / NONE / nOnE
  3. 替换 JWT 并清空签名后重放
  4. 比对响应: 相似度 >= 阈值 AND 状态码非 401/403 -> JWT 签名绕过漏洞

JWT HMAC 密钥爆破被动扫描

原始请求含 JWT (alg: HS256):
  1. 离线计算: HMAC-SHA256(header.payload, 字典中每个密钥)
  2. 比对签名: 若匹配 -> 密钥已泄露
  3. 用该密钥重签 JWT 并重放验证
  4. 确认后标记漏洞: JWT:WeakKey=密钥值

注意事项

  1. 生产环境慎用:增删改检测和 JWT 扫描会实际重放请求,可能产生副作用
  2. 凭据有效性:Session/Token 会过期,检测前确保凭据有效
  3. 性能影响:8 线程并发重放,高流量场景注意对目标的压力;任务队列上限 500,超出后自动丢弃最旧的待处理任务
  4. 误报处理:公开接口会产生高相似度误报,可通过白名单/黑名单过滤
  5. JWT 去重:每个唯一的 JWT 仅扫描一次,清空结果会重置去重缓存
  6. 日志上限:扫描结果最多保留 5000 条,达到上限后需清空结果才能继续记录
  7. 大响应保护:响应体超过 256KB 时自动截断后再做相似度比对,防止比对耗时过长

About

一款 Burp Suite 被动扫描IDOR漏洞插件

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages