在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用csrf
星标2
分支0
更新时间2026年6月3日 04:04
检测跨站请求伪造(CSRF)漏洞,验证关键操作是否具备有效的反 CSRF 保护。
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
检测跨站请求伪造(CSRF)漏洞,验证关键操作是否具备有效的反 CSRF 保护。
用 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 | csrf |
| description | 检测跨站请求伪造(CSRF)漏洞,验证关键操作是否具备有效的反 CSRF 保护。 |
| category | web |
| source | xalgorix |
| tags | ["CSRF","会话安全","表单安全","OWASP Top 10"] |
| required_tools | ["curl"] |
# 列出所有状态变更操作
# - 修改密码:POST /change-password
# - 修改邮箱:POST /settings/email
# - 转账:POST /transfer
# - 删除资源:DELETE /api/resource/123
# - 修改角色:PUT /api/users/123/role
对每个操作检查保护机制:
# 正常请求(带 CSRF Token)
curl -v -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-d "csrf_token=<token>&new_password=test123"
检查点:
# 发送不含 CSRF Token 的请求
curl -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-d "new_password=test123"
如果请求成功(非 403/CSRF 错误),记录为 CSRF 漏洞。
# 测试 Token 是否可被替换
# 使用一个有效但属于其他操作或过期的 Token
curl -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-d "csrf_token=invalid_or_expired_token&new_password=test123"
# 测试是否完全移除 Token 字段即可绕过
curl -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-d "new_password=test123"
# 检查关键 Cookie 的 SameSite 属性
curl -sI "https://<target>/" | grep -i 'set-cookie'
# SameSite 可能值:
# Strict — 完全阻止跨站请求发送 Cookie
# Lax — 允许 GET 导航请求发送 Cookie(默认)
# None — 允许所有跨站请求(需要 Secure)
# 未设置 — 浏览器行为因版本而异
# 尝试用 text/plain 绕过预检(preflight)
curl -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-H "Content-Type: text/plain" \
-d '{"new_password":"test123"}'
# 尝试 application/x-www-form-urlencoded
curl -X POST "https://<target>/change-password" \
-H "Cookie: session=<token>" \
-d "new_password=test123"