返回更新列表
新发布Aug 20, 2026

XSRFProbe v3.0.0

Prime 跨站请求伪造 (CSRF) 审计与利用工具包.

分享


xsrfprobe-logo

XSRFProbe

顶级跨站请求伪造审计与利用工具包

关于

XSRFProbe 是一款高级跨站请求伪造(CSRF/XSRF)审计与利用工具包。它配备了强大的爬虫引擎和众多系统化检查,能够检测大多数CSRF漏洞及其相关的绕过方式,并针对每个发现的漏洞进一步生成可利用的概念验证。更多关于XSRFProbe工作原理的信息,请参见维基上的XSRFProbe 内部机制

横幅图片

XSRFProbe 维基快速入门常规用法高级用法XSRFProbe 内部机制图库

部分特性

  • 运行一整套系统化检查 —— 由响应差异/基准测试引擎支持 —— 之后才将端点声明为易受攻击。
  • 检测并主动篡改多种反CSRF令牌实现:请求方法切换、令牌移除、空值/重复值、非会话绑定令牌、双重提交Cookie和自定义头令牌。
  • 探测试Referer和Origin验证,使用真实世界绕过技术(移除头、正则/子域名技巧、Origin: null),以及方法覆盖和Content-Type绕过。
  • 分析SameSite Cookie保护,可选子域名枚举(通过crt.sh)用于同级域名绕过测试。
  • 配备强大的爬虫,支持确定性、有界爬取和扫描(可通过--max-urls--max-depth--crawl-timeout配置)。
  • 可选的Headless Firefox(Selenium)集成,用于浏览器依赖测试和生成的PoC自动验证。
  • 使用熵和编码检查进行准确的令牌强度检测分析
  • 能够生成正常以及恶意可利用的CSRF概念验证。
  • 开箱即用支持自定义Cookie值、通用头和JSON报告——每个发现都带有严重性评级和可利用性前提条件。
  • 用户可以控制扫描器的一切行为
  • 用户友好的交互环境,支持完整详细输出,以及错误、漏洞和令牌的详细日志记录。

执行的漏洞测试:

XSRFProbe运行的每项检查都有唯一标识符。该ID会显示在控制台输出(例如 [T6] VULNERABLE: ...)中,并作为test_id字段存储在JSON报告的每个发现中(连同其severity,并在相关情况下,details下提供exploitability说明),因此每个发现都能映射回产生它的具体测试。

ID类别检查内容
D1令牌存在性没有反CSRF令牌(通用请求伪造)
D2令牌存在性登录表单缺少CSRF令牌(登录CSRF)
T2令牌篡改验证与请求方法绑定(GET ↔ POST 切换)
T3令牌篡改令牌可以被完全省略
T4令牌篡改令牌不与用户会话绑定(跨会话重放)
T5令牌篡改令牌绑定到非会话Cookie(例如 csrfKey
T6令牌篡改朴素双重提交Cookie(Cookie == 请求体,无绑定)
T7令牌篡改接受空令牌值
T8令牌篡改自定义头令牌可以被省略或伪造
M1方法 / Content-Type通过 _method 参数覆盖HTTP方法
M2方法 / Content-Type通过 X-HTTP-Method-Override 头覆盖HTTP方法
M4方法 / Content-Type通过替代 Content-Type 绕过验证
R0Referer表单提交不验证Referer头
R1Referer通过省略头绕过Referer验证
R2aRefererReferer正则绕过——目标作为攻击者子域名
R2bRefererReferer正则绕过——目标在查询字符串中
R2cRefererReferer正则绕过——目标在路径中
O1Origin通过 Origin: null 绕过Origin验证
O2Origin通过子域名技巧绕过Origin验证
O3Origin通过省略头绕过Origin验证
S2SameSite(浏览器)通过客户端重定向小工具绕过 SameSite=Strict
S3SameSite(浏览器)通过同级子域名上的XSS绕过 SameSite=Strict
S4SameSite(浏览器)通过Cookie刷新/OAuth流程绕过 SameSite=Lax
C1Cookie状态Cookie SameSite 属性分析(None/Lax/Strict
C2Cookie状态Cookie未设置 SameSite 属性
E1令牌强度令牌使用弱/结构化哈希编码
A1令牌强度扫描后令牌可预测性/可伪造性分析

S* 检查需要可选的Headless浏览器集成(--browser)。T*/M*/R*/O* 是HTTP级别检查,由响应差异/基准测试引擎控制。

图库

让我们看看XSRFProbe在实际中的一些场景:

安装与使用

完整用法信息,请查看维基的——常规用法高级用法

通过Pypi安装:

XSRFProbe 可以通过一条命令轻松安装:

pip install xsrfprobe

手动安装:

  • 基础操作,第一步是安装工具:
pip install .
  • 现在,可以通过以下命令启动工具:
xsrfprobe --help
  • 浏览器依赖测试(--browser--auto-validate-poc)额外需要 geckodriver 在您的 PATH 中可用(或通过 --geckodriver-path 指定)。
  • 在网站上测试XSRFProbe后,会在当前工作目录中创建一个 xsrfprobe-output 输出文件夹。在该文件夹下可以查看扫描期间收集的详细日志和信息(传递 --json 参数可获得机器可读的报告)。

版本与许可

XSRFProbe 目前为 v3.0.0,该作品遵循 GNU通用公共许可证 (GPLv3) 许可。

警告

请勿在真实网站上使用此工具!

因为此工具旨在自动执行各种表单提交,这可能会破坏网站。有时您可能会搞乱数据库,甚至可能对网站造成拒绝服务攻击。

请在可废弃的测试/虚拟设置/网站上进行测试!

免责声明

在未经事先双方同意的情况下使用XSRFProbe测试网站可能被视为非法行为。最终用户有责任遵守所有适用的本地、州和联邦法律。作者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。

作者的话

该项目完全基于__我自己对跨站请求伪造攻击的研究以及我在Web应用程序上的经验__。您可以尝试阅读源代码,以帮助理解此工具包的构建方式。非常欢迎有用的拉取请求想法和问题。如果您想了解XSRFProbe的开发进展情况,请查看开发看板

@0xInfection 用 ♡ 精心打造。

分类