SuperAPI AI 工具集

access-control-audit

安全与审计

查看项目

更新于 10-15 23:49

技能介绍

用途:该技能面向 OWASP A05 Broken Access Control,帮助检测与修复越权访问漏洞,包括 IDOR、权限提升和缺失的授权检查。适用时机包括实现授权逻辑、审计 API 端点权限、审查管理功能、检查资源归属、实现基于角色的访问以及防止权限提升。

主要能力与常见漏洞:资料列出 IDOR(高风险,如 /api/users/123 可被任意用户访问)、缺失授权检查(严重,管理端点无验证)、权限提升(严重,用户可升为管理员)、路径遍历(高风险,../../admin/config)、强制浏览(中风险,猜测管理 URL)、元数据篡改(高风险,修改 JWT 中的 userId)。

使用方式:文档给出多种防护实现模式,包括授权中间件(authorize(...allowedRoles) 工厂函数,区分 401 与 403 并记录日志)、资源归属校验中间件(verifyOwnership(resourceModel, paramName))、基于属性的访问控制 ABAC(使用 @casl/ability 的 defineAbilitiesFor 与 checkAbility)、防止批量赋值(字段白名单 filterFields)、使用 UUID 替代顺序 ID(uuidv4 / mongoose-uuid),以及 API 级访问控制矩阵 accessMatrix 配合 checkAccess。

测试方法:可用 curl 验证 IDOR、权限提升、缺失认证与强制浏览,例如:curl -H "Authorization: Bearer $USER_A_TOKEN" http://api.com/users/USER_B_ID;curl -X PUT http://api.com/profile -H "Authorization: Bearer $USER_TOKEN" -d '{"role": "admin"}';curl http://api.com/admin/users。也可使用 Burp Suite 的 Authorize 扩展和 OWASP ZAP 的访问控制测试。

限制与检查清单:资料未提供具体安装命令、收费、价格或平台支持信息,暂未提供。检查项包括所有 API 端点具备授权检查、访问前验证资源归属、敏感资源不使用可猜测 ID、管理功能需管理员角色、角色变更需更高权限、白名单防批量赋值、授权逻辑在服务端、记录失败访问、默认拒绝、水平与垂直访问控制。最佳实践为默认拒绝、服务端检查、记录失败、使用 UUID、分离管理路由、定期审计和最小权限原则。