关于 api-authorization-and-bola
api-authorization-and-bola 是专注于 API 对象和功能授权的安全测试技能,涵盖 BOLA、BFLA 与批量赋值。它提供双账户测试流程,并指导检查关联端点、HTTP 方法和隐藏字段。
主要功能
- 01BOLA 与 BFLA 测试流程
- 02双账户令牌重放检查
- 03嵌套资源与端点覆盖
- 04替代 HTTP 方法测试
- 05隐藏字段控制检查
适用场景
- 01比较不同账户的对象访问
- 02检查嵌套资源授权
- 03测试管理功能的访问控制
- 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. 核心测试循环
- 创建账户 A 和账户 B。
- 以账户 A 身份捕获创建、读取、更新和删除流程。
- 使用账户 B 的令牌重放请求。
- 测试同级端点、嵌套端点和其他 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. 后续路由
- 针对 JWT 或令牌层滥用:API 身份验证与 JWT 滥用
- 针对 GraphQL 和隐藏参数发现:GraphQL 与隐藏参数
- 针对 API 之外更广泛的 IDOR 模式:IDOR 失效对象级授权
评论
支持 Markdown