mcpField
A
api-authorization-and-bola

api-authorization-and-bola

github.com/yaklang安全2.6k3.8k 次安装6 周前更新
代码仓库

关于 api-authorization-and-bola

api-authorization-and-bola 是专注于 API 对象和功能授权的安全测试技能,涵盖 BOLA、BFLA 与批量赋值。它提供双账户测试流程,并指导检查关联端点、HTTP 方法和隐藏字段。

主要功能

  1. 01BOLA 与 BFLA 测试流程
  2. 02双账户令牌重放检查
  3. 03嵌套资源与端点覆盖
  4. 04替代 HTTP 方法测试
  5. 05隐藏字段控制检查

适用场景

  1. 01比较不同账户的对象访问
  2. 02检查嵌套资源授权
  3. 03测试管理功能的访问控制
  4. 04验证隐藏字段是否可写

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yaklang/hack-skills --skill api-authorization-and-bola

安装后在 Claude Code 中输入/api-authorization-and-bola确认已加载。

详细介绍

技能:API 授权与 BOLA——对象访问、功能访问和批量赋值

AI 加载说明:当 API 暴露对象 ID、嵌套资源或受角色限制的功能,且你需要一条聚焦的授权测试路径时,使用此技能:BOLA、BFLA、方法滥用和隐藏字段控制。

1. 核心测试循环

  1. 创建账户 A 和账户 B。
  2. 以账户 A 身份捕获创建、读取、更新和删除流程。
  3. 使用账户 B 的令牌重放请求。
  4. 测试同级端点、嵌套端点和其他 HTTP 方法。

2. 测试面

测试面示例
对象读取/api/v1/orders/123
嵌套对象/api/v1/users/1/invoices/9
管理员或内部功能/api/v1/admin/users
更新路径PUT、PATCH、DELETE 变体
隐藏 JSON 字段role、org、verified、tier

3. 快速载荷

{"role":"admin"}
{"isAdmin":true}
{"org":"target-company"}
{"verified":true}

4. 测试人员容易忽略的问题

  • 请求头、Cookie、GraphQL 参数和嵌套对象中的对象 ID
  • 使用相同路由但授权检查更弱的其他方法
  • 已检查父级对象,却未检查子级资源
  • 管理员文档暴露了更多可写字段

5. 后续路由

评论

支持 Markdown