0Pricing
Cyber Security Academy · Lektion

Cross-Site-Request-Forgery (CSRF)

Lernen Sie, wie CSRF-Angriffe authentifizierte Anfragen fälschen und wie CSRF-Token sowie SameSite-Cookies davor schützen.

Cross-Site-Request-Forgery (CSRF) ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist CSRF?

Cross-Site Request Forgery (CSRF) bringt den Browser eines authentifizierten Benutzers dazu, nicht autorisierte Anfragen an eine Webanwendung zu senden. Der Browser sendet Cookies automatisch mit Anfragen, daher kann der Server legitime und gefälschte Anfragen ohne zusätzliche Maßnahmen nicht unterscheiden.

So funktioniert CSRF

Szenario:

  1. Das Opfer ist bei bank.com angemeldet (Sitzungscookie im Browser)
  2. Das Opfer besucht die Seite des Angreifers mit: <img src="https://bank.com/transfer?to=attacker&amount=1000">
  3. Der Browser sendet die GET-Anfrage mit dem angehängten Cookie von bank.com
  4. Die Bank führt die Überweisung aus

CSRF mit POST-Anfragen

CSRF über POST erfordert ein Formular:

<form action="https://bank.com/transfer" method="POST" id="f">
  <input name="to" value="attacker">
  <input name="amount" value="1000">
</form>
<script>document.getElementById("f").submit()</script>

CSRF-Tokens

Die wichtigste Abwehrmaßnahme ist ein CSRF-Token: ein zufälliger, geheimer Wert pro Sitzung oder pro Anfrage, der in Formulare eingebettet wird. Der Server validiert das Token bei jeder zustandsändernden Anfrage. Ein Angreifer auf einer anderen Domain kann das Token aufgrund der Same-Origin-Policy nicht auslesen.

SameSite-Cookie-Attribut

SameSite=Strict: Das Cookie wird überhaupt nicht mit Cross-Site-Anfragen gesendet. SameSite=Lax: Das Cookie wird mit sicheren Top-Level-Navigationen (Links) gesendet, aber nicht mit POST-Anfragen von anderen Webseiten. Moderne Browser verwenden standardmäßig Lax, wodurch das CSRF-Risiko deutlich sinkt.

Double-Submit-Cookie-Muster

Eine Alternative zur serverseitigen Speicherung des Tokens: Setzen Sie ein zufälliges CSRF-Cookie und verlangen Sie, dass es zusätzlich als Anfrageparameter übermittelt wird. Ein Angreifer kann das Cookie nicht auslesen (Same-Origin), sodass er keinen passenden Wert in den Formulardaten angeben kann.

Benutzerdefinierte Anfrage-Header

Bei AJAX-Anfragen bietet die Anforderung eines benutzerdefinierten Headers, beispielsweise X-Requested-With: XMLHttpRequest, Schutz vor CSRF, da Browser Cross-Origin-Skripte daran hindern, beliebige Header zu setzen (CORS erzwingt dies).

Wann CSRF-Tokens nicht ausreichen

CSRF-Tokens sind wirkungslos, wenn:

  • XSS vorhanden ist — der Angreifer kann das Token über JavaScript auslesen
  • das Token in der URL offengelegt wird (Referer-Header)
  • das Token vorhersehbar ist oder wiederverwendet wird
  • CORS falsch konfiguriert ist und den Ursprung des Angreifers zulässt

CSRF testen

Testschritte:

  1. Zustandsändernde Anfragen identifizieren (POST, PUT, DELETE)
  2. Das CSRF-Token entfernen oder ändern und die Anfrage erneut senden
  3. Eine Cross-Origin-Formularübermittlung erstellen und prüfen, ob sie erfolgreich ist
  4. Das SameSite-Attribut der Sitzungscookies überprüfen

CSRF in APIs

REST-APIs, die JSON verwenden, sind häufig nicht anfällig für CSRF, wenn sie:

  • Content-Type: application/json verlangen (HTML-Formulare können diesen Header nicht setzen)
  • Token-basierte Authentifizierung verwenden (Authorization-Header statt Cookies)

APIs, die Cookies akzeptieren, müssen dennoch einen CSRF-Schutz implementieren.

Die moderne CSRF-Landschaft

Da SameSite=Lax in Chrome, Firefox und Safari standardmäßig aktiviert ist, werden viele traditionelle CSRF-Angriffe blockiert. Angriffe über Subdomains und bestimmte Navigationsmuster können Lax jedoch weiterhin umgehen. Kombinieren Sie SameSite mit CSRF-Tokens, um einen robusten Schutz zu erreichen.

Schnelltest: CSRF

Was ist die wichtigste Abwehrmaßnahme gegen CSRF-Angriffe in Webanwendungen?

Zusammenfassung der Lektion

CSRF nutzt das automatische Anhängen von Cookies durch den Browser aus, um authentifizierte Anfragen von bösartigen Webseiten zu fälschen. Die wichtigste Abwehrmaßnahme sind serverseitig validierte CSRF-Tokens. Eine zusätzliche Maßnahme ist das SameSite=Strict/Lax-Cookie-Attribut. APIs, die Token zur Authentifizierung in Headern statt in Cookies verwenden, sind von Natur aus gegen CSRF geschützt. Kombinieren Sie mehrere Schutzmaßnahmen; XSS kann vorhandene CSRF-Tokens umgehen.

Häufig gestellte Fragen

Ist die Lektion „Cross-Site-Request-Forgery (CSRF)“ kostenlos?

Ja — der vollständige Text von „Cross-Site-Request-Forgery (CSRF)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Cross-Site-Request-Forgery (CSRF)“?

Lernen Sie, wie CSRF-Angriffe authentifizierte Anfragen fälschen und wie CSRF-Token sowie SameSite-Cookies davor schützen. Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cyber Security Academy zu starten?

Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Cross-Site-Request-Forgery (CSRF)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. SQL-Injection: Wie und warum sie funktioniert
  2. Cross-Site-Scripting (XSS)
  3. Cross-Site-Request-Forgery (CSRF)
  4. Fehlkonfigurationen und exponierte Dienste
← Zurück zu Cyber Security Academy