
Das Prime Cross Site Request Forgery (CSRF) Audit- und Exploitation Toolkit.
XSRFProbe ist ein fortschrittliches Toolkit für Cross-Site-Request-Forgery (CSRF/XSRF) Audit und Exploitation. Ausgestattet mit einer leistungsstarken Crawling-Engine und zahlreichen systematischen Prüfungen, kann es die meisten Fälle von CSRF-Schwachstellen, deren Umgehungen erkennen und darüber hinaus für jede gefundene Schwachstelle ausnutzbare Proof-of-Concepts generieren. Weitere Informationen zur Funktionsweise von XSRFProbe finden Sie auf dem Wiki unter XSRFProbe Internals.
XSRFProbe Wiki • Getting Started • General Usage • Advanced Usage • XSRFProbe Internals • Galerie
Origin: null) sowie Method-Override- und Content-Type-Umgehungen.--max-urls, --max-depth und --crawl-timeout).Jede von XSRFProbe durchgeführte Prüfung hat eine eindeutige Kennung. Die ID wird in der Konsolenausgabe angezeigt (z. B. [T6] VULNERABLE: ...) und als test_id-Feld jedes Fundes im JSON-Report gespeichert (zusammen mit severity und, wo relevant, einem exploitability-Hinweis unter details), sodass jeder Fund auf den genauen Test zurückgeführt werden kann, der ihn erzeugt hat.
| ID | Kategorie | Prüfung |
|---|---|---|
D1 | Token-Präsenz | Kein Anti-CSRF-Token vorhanden (allgemeine Request-Fälschung) |
D2 | Token-Präsenz | Login-Formular ohne CSRF-Token (Login-CSRF) |
T2 | Token-Manipulation | Validierung an Anfragemethode gebunden (GET ↔ POST-Wechsel) |
T3 | Token-Manipulation | Token kann vollständig weggelassen werden |
T4 | Token-Manipulation | Token nicht an die Benutzersitzung gebunden (sitzungsübergreifende Wiederverwendung) |
T5 | Token-Manipulation | Token an ein nicht-sitzungsgebundenes Cookie gebunden (z. B. csrfKey) |
T6 | Token-Manipulation | Naives Double-Submit-Cookie (Cookie == Body, keine Bindung) |
T7 | Token-Manipulation | Leerer Tokenwert akzeptiert |
T8 | Token-Manipulation | Custom-Header-Token kann weggelassen oder gefälscht werden |
M1 | Methode / Content-Type | HTTP-Methoden-Override über Parameter _method |
M2 | Methode / Content-Type | HTTP-Methoden-Override über Header X-HTTP-Method-Override |
M4 | Methode / Content-Type | Umgehung der Validierung durch alternativen Content-Type |
R0 | Referer | Referer-Header bei Formularübermittlung nicht validiert |
R1 | Referer | Referer-Validierung durch Weglassen des Headers umgangen |
R2a | Referer | Referer-Regex-Umgehung – Ziel als Angreifer-Subdomain |
R2b | Referer | Referer-Regex-Umgehung – Ziel in der Abfragezeichenfolge |
R2c | Referer | Referer-Regex-Umgehung – Ziel im Pfad |
O1 | Origin | Origin-Validierung mit Origin: null umgangen |
O2 | Origin | Origin-Validierung mit einem Subdomain-Trick umgangen |
O3 | Origin | Origin-Validierung durch Weglassen des Headers umgangen |
S2 | SameSite (Browser) | SameSite=Strict-Umgehung über clientseitigen Redirect-Gadget |
S3 | SameSite (Browser) | SameSite=Strict-Umgehung über XSS auf einer Schwester-Subdomain |
S4 | SameSite (Browser) | SameSite=Lax-Umgehung über Cookie-Refresh / OAuth-Ablauf |
C1 | Cookie-Status | Analyse des Cookie-SameSite-Attributs (None/Lax/Strict) |
C2 | Cookie-Status | Kein SameSite-Attribut bei Cookies gesetzt |
E1 | Token-Stärke | Token verwendet eine schwache/strukturierte Hash-Kodierung |
A1 | Token-Stärke | Analyse der Vorhersagbarkeit/Fälschbarkeit von Tokens nach dem Scan |
S*-Prüfungen erfordern die optionale Headless-Browser-Integration (--browser).T*/M*/R*/O*sind HTTP-Ebene-Prüfungen, die durch die Response-Diffing/Benchmark-Engine gesteuert werden.
Sehen wir uns einige reale Szenarien von XSRFProbe in Aktion an: