SuperAPI AI 工具集

hunt-csrf

安全与审计

查看项目

更新于 10-15 14:49

技能介绍

用途

hunt-csrf 是一个专注于 CSRF(跨站请求伪造)漏洞挖掘的安全测试技能,属于 elementalsouls/claude-bughunter 项目。它基于 15 份公开漏洞赏金报告构建,包含现代变体,例如 SameSite=Lax 的同级子域绕过(Argo CD 等)。该技能面向授权范围内的漏洞赏金与安全评估,帮助测试者系统化地发现和验证 CSRF 漏洞。

主要能力

该技能覆盖以下核心能力:

  • 状态变更端点测绘:爬取已认证会话,筛选 POST/PUT/DELETE/PATCH 请求,记录所有表单和 AJAX 调用。
  • Cookie SameSite 属性检查:在 DevTools 中检查会话 Cookie 是否缺少 SameSite=Strict 或 Lax。
  • CSRF 令牌测试:测试令牌的静态性(同一会话不同页面加载、不同会话、不同用户之间是否复用)、省略令牌字段、替换为其他会话的令牌。
  • JSON 端点 CSRF 检测:检查服务器是否强制 Content-Type,尝试用 application/x-www-form-urlencoded 或 text/plain 发送 JSON 体。
  • OAuth/SSO RelayState 挖掘:拦截 SAML/OIDC 流程,测试 RelayState 是否校验同源,注入外部 URL。
  • 社交账号绑定流程测试:针对“连接你的 X 账号”功能,测试回调中的 CSRF 是否可关联攻击者社交账号。
  • 第三方面板测试:检查子域上的 Grafana、Kibana、Prometheus 等,核对版本并应用已知 CVE。
  • PoC 构建:提供基础表单 POST PoC 和 text/plain JSON CSRF PoC 的 HTML 示例。
  • curl 测试命令:提供令牌省略、跨会话令牌复用等测试命令。
  • grep 侦察模式:用于查找 CSRF 令牌字段、无令牌表单、SameSite 响应头、RelayState 参数。

使用方式

技能给出了自主测试优先级和分步方法论:

  1. GET 表单端点建立基线,检查隐藏的 csrf_token、authenticity_token、_token、csrfmiddlewaretoken 字段。
  2. POST 状态变更动作,不带任何 CSRF 令牌字段,只发送功能参数。
  3. 使用“简单请求”Content-Type:application/x-www-form-urlencoded、multipart/form-data 或 text/plain。JSON 端点只有在服务器拒绝这些类型时才具备 CSRF 抵抗力。
  4. 如果动作成功(2xx,无“invalid token”错误),则确认 CSRF。

技能还强调一个捷径:原始 HTTP 客户端(curl、Burp Repeater 等)不是浏览器,可以设置任意 Origin/Referer 头值,许多应用只做简单的字符串检查,因此可以直接设置头部满足检查,无需构建真实跨站页面。只有当目标执行真正的 SameSite/fetch 同源强制时,才需要构建真实跨站页面。

适用场景

高价值目标按影响排序包括:邮箱/密码修改(账户接管)、资金转账或支付(金融欺诈)、管理员操作(角色分配、用户删除)、OAuth 社交账号绑定(持久 ATO)。资产类型中回报最高的是:核心产品认证流程 > API 网关 > 子域上的第三方集成 > 管理面板。

技能明确范围:不要在登录表单(无现有会话可利用)、登出(无实际影响)或只读 GET 端点上测试 CSRF。

限制

该技能仅适用于授权范围内的安全测试。技能中提到的具体 CVE(如 Grafana CVE-2022-21703、Argo CD CVE-2024-22424)和漏洞报告编号均为资料中给出的历史案例,实际测试时需自行核实目标版本与授权状态。技能未提供自动化工具或脚本,所有测试需手动执行或自行编写脚本。