Agent Skills
返回列表
🔒

CSRF跨站请求伪造

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 安装 @user_3c6cb52e/csrf-cross-site-request-forgery-2zgj

技能介绍

要解决的具体问题

CSRF(跨站请求伪造)是一个老问题,但现代 Web 应用的防御实践让攻击面发生了漂移。很多团队对 CSRF 的理解停留在“检查 Origin 或 Referer 头”这一层,而忽略了浏览器同源策略在边界情况下的微妙差异。当后端依赖 SameSite Cookie 来兜底、却在某个端点上漏掉了会话校验,或者当接口只校验了自定义头却没校验 Content-Type,攻击者就能找到绕过路径。

更麻烦的是无 token 站点——那些不使用同步器 token 的 REST API,如果端点接受 JSON 或 multipart 提交且不校验 Content-Type,就能被跨域表单或 fetch 直接打穿。基础模型给的建议往往是“加个 CSRF token 就行”,但这些边界场景一个都没覆盖。

技能如何工作

这个技能面向需要分析或防御 CSRF 的安全工程师,核心覆盖以下方向:

  • 现代绕过向量:利用 SameSite 属性的边界差异(如 Lax 模式下对顶层导航 POST 的限制、None 模式下 SameSite 覆盖造成的跨站 Cookie 泄露)、自定义头校验缺失导致的跨域请求绕过、以及无 token 站点上利用 fetch 不带 CORS preflight 的 GET/POST 直接提交。
  • JSON CSRF:当端点接受 application/json 但未强制校验 Content-Type 时,通过跨域表单提交或构造不带 preflight 的简单请求绕过 CSRF 防护。
  • Multipart CSRF:当端点处理文件上传或表单时,利用 multipart/form-data 编码绕过对 token 的字符串匹配校验。
  • 与 XSS 链结合:在已存在 XSS 漏洞的页面上,将 CSRF 作为二次利用链,绕过 SameSite 或 Origin 校验后直接以受害者身份执行操作。

技能内置了关联路由:当分析 JSON 端点跨域可读性时建议加载 CORS 配置错误分析,当涉及登录、账户绑定或回调绑定的 OAuth 流程时建议加载 OAuth/OIDC 配置错误分析。

适用边界与注意点

本技能是攻击视角的 Playbook,适用于安全测试、红队演练和防御代码审计。在用于防御建议时,应结合具体框架的 CSRF 防护机制(如 Django 的 csrf_token 中间件、Spring Security 的 CsrfFilter)逐项核对,避免将绕过手法误判为通用缺陷。对于 SameSite=None 的显式设置,需注意现代浏览器对 Secure 属性的强制要求。

使用场景

  • 渗透测试时需验证接口是否只校验自定义请求头,确认 JSON CSRF 能否跨域利用
  • 审计无 token 的 REST API 时,排查能否通过跨域简单请求绕过 CSRF 防护
  • 分析登录流程的 SameSite 配置时,确认 Lax 模式下顶层 POST 是否存在伪造窗口
  • 已发现站点存在 XSS 漏洞,需要评估 CSRF 串联利用以受害者身份提交敏感操作

适合人员

  • 渗透测试工程师,需要在黑盒测试中快速验证各端点的 CSRF 防护是否有效
  • Web 应用开发者,需要在上线前审计接口的 SameSite 与 token 校验实现
  • 红队成员,需要在实战中寻找 SameSite 边界与无 token 站点的绕过路径
  • 安全审计顾问,需要为客户检测 CSRF 配置缺陷并给出修复建议