
XSRFProbe v3.0.0
Das Prime Cross Site Request Forgery (CSRF) Audit- und Exploitation Toolkit.
XSRFProbe
Das führende Toolkit für Cross-Site-Request-Forgery-Audit und -Exploitation.
Über
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
Einige Funktionen
- Führt eine vollständige Reihe von systematischen Prüfungen durch – unterstützt von einer Response-Diffing/Benchmark-Engine – bevor ein Endpunkt als verwundbar deklariert wird.
- Erkennt und manipuliert aktiv viele Anti-CSRF-Token-Implementierungen: Wechsel der Anfragemethode, Token-Entfernung, leere/doppelte Werte, nicht-sitzungsgebundene Tokens, Double-Submit-Cookies und Custom-Header-Tokens.
- Prüft Referer- und Origin-Validierung mit realistischen Umgehungen (Header-Entfernung, Regex/Subdomain-Tricks,
Origin: null) sowie Method-Override- und Content-Type-Umgehungen. - Analysiert SameSite-Cookie-Schutzmaßnahmen, mit optionaler Subdomain-Erkennung (via crt.sh) für Tests zur Umgehung über Schwester-Domains.
- Arbeitet mit einem leistungsstarken Crawler mit deterministischem, begrenztem Crawling und Scannen (konfigurierbar über
--max-urls,--max-depthund--crawl-timeout). - Optionale Integration von Headless Firefox (Selenium) für browserabhängige Tests und automatische Validierung generierter PoCs.
- Genaue Token-Stärke-Erkennung und Analyse mittels Entropie- und Kodierungsprüfungen.
- Kann sowohl normale als auch böswillig ausnutzbare CSRF-Proof-of-Concepts generieren.
- Standardmäßige Unterstützung für benutzerdefinierte Cookie-Werte, generische Header und einen JSON-Report – jeder Fund enthält eine Schweregradbewertung und eine Ausnutzbarkeitsvoraussetzung.
- Der Benutzer hat die Kontrolle über alles, was der Scanner tut.
- Benutzerfreundliche Interaktionsumgebung mit vollständiger Verbose-Unterstützung und detaillierter Protokollierung von Fehlern, Schwachstellen und Tokens.
Durchgeführte Schwachstellentests:
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.
Galerie
Sehen wir uns einige reale Szenarien von XSRFProbe in Aktion an: