XSRFProbe 是一款高级跨站请求伪造(CSRF/XSRF)审计与利用工具包。它配备了强大的爬虫引擎和众多系统化检查,能够检测大多数CSRF漏洞及其相关的绕过方式,并针对每个发现的漏洞进一步生成可利用的概念验证。更多关于XSRFProbe工作原理的信息,请参见维基上的XSRFProbe 内部机制。
XSRFProbe 维基 • 快速入门 • 常规用法 • 高级用法 • XSRFProbe 内部机制 • 图库
Origin: null),以及方法覆盖和Content-Type绕过。--max-urls、--max-depth和--crawl-timeout配置)。XSRFProbe运行的每项检查都有唯一标识符。该ID会显示在控制台输出(例如 [T6] VULNERABLE: ...)中,并作为test_id字段存储在JSON报告的每个发现中(连同其severity,并在相关情况下,details下提供exploitability说明),因此每个发现都能映射回产生它的具体测试。
S*检查需要可选的Headless浏览器集成(--browser)。T*/M*/R*/O*是HTTP级别检查,由响应差异/基准测试引擎控制。
让我们看看XSRFProbe在实际中的一些场景:
XSRFProbe 可以通过一条命令轻松安装:
pip install xsrfprobe
pip install .
xsrfprobe --help
--browser、--auto-validate-poc)额外需要 geckodriver 在您的 PATH 中可用(或通过 --geckodriver-path 指定)。xsrfprobe-output 输出文件夹。在该文件夹下可以查看扫描期间收集的详细日志和信息(传递 --json 参数可获得机器可读的报告)。XSRFProbe 目前为 v3.0.0,该作品遵循 GNU通用公共许可证 (GPLv3) 许可。
请勿在真实网站上使用此工具!
因为此工具旨在自动执行各种表单提交,这可能会破坏网站。有时您可能会搞乱数据库,甚至可能对网站造成拒绝服务攻击。
请在可废弃的测试/虚拟设置/网站上进行测试!
在未经事先双方同意的情况下使用XSRFProbe测试网站可能被视为非法行为。最终用户有责任遵守所有适用的本地、州和联邦法律。作者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。
该项目完全基于__我自己对跨站请求伪造攻击的研究以及我在Web应用程序上的经验__。您可以尝试阅读源代码,以帮助理解此工具包的构建方式。非常欢迎有用的拉取请求、想法和问题。如果您想了解XSRFProbe的开发进展情况,请查看开发看板。
由 @0xInfection 用 ♡ 精心打造。
| 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 绕过验证 |
R0 | Referer | 表单提交不验证Referer头 |
R1 | Referer | 通过省略头绕过Referer验证 |
R2a | Referer | Referer正则绕过——目标作为攻击者子域名 |
R2b | Referer | Referer正则绕过——目标在查询字符串中 |
R2c | Referer | Referer正则绕过——目标在路径中 |
O1 | Origin | 通过 Origin: null 绕过Origin验证 |
O2 | Origin | 通过子域名技巧绕过Origin验证 |
O3 | Origin | 通过省略头绕过Origin验证 |
S2 | SameSite(浏览器) | 通过客户端重定向小工具绕过 SameSite=Strict |
S3 | SameSite(浏览器) | 通过同级子域名上的XSS绕过 SameSite=Strict |
S4 | SameSite(浏览器) | 通过Cookie刷新/OAuth流程绕过 SameSite=Lax |
C1 | Cookie状态 | Cookie SameSite 属性分析(None/Lax/Strict) |
C2 | Cookie状态 | Cookie未设置 SameSite 属性 |
E1 | 令牌强度 | 令牌使用弱/结构化哈希编码 |
A1 | 令牌强度 | 扫描后令牌可预测性/可伪造性分析 |