Zurück zur Übersicht

Begriff

CSRF (Cross-Site Request Forgery)

Security Web S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Du bist bei deiner Bank eingeloggt (bank.com). Du besuchst eine böse Webseite (hacker.com). Auf der bösen Seite ist ein unsichtbares Bild: <img src="http://bank.com/transfer?to=hacker&amount=1000"> Dein Browser will das Bild laden. Er sendet eine Anfrage an die Bank. Da du dort eingeloggt bist, klebt der Browser dein Session-Cookie automatisch an die Anfrage. Die Bank denkt: "Ah, der User will Geld überweisen. Cookie passt. Mache ich." Geld weg. Der Hacker hat deinen Browser "ferngetsuert", ohne dass er dein Passwort kannte.

Merksatz: Ein Angriff, bei dem ein Angreifer den Browser des Opfers dazu bringt, eine ungewollte HTTP-Anfrage an eine vertrauenswürdige Webseite zu senden, auf der das Opfer authentifiziert ist.


Quick-Check

  1. Bedingung für CSRF?
    Das Opfer muss auf der Zielseite eingeloggt sein. Wenn du ausgeloggt bist, passiert nix (Session-Cookie fehlt). Darum: "Immer ausloggen bei Online-Banking!"
  2. Unterschied zu XSS?
    Bei CSRF nutzt der Hacker deinen eigenen Browser gegen den Server, aber er sieht die Antwort nicht. (Er kann überweisen, aber nicht deinen Kontostand lesen). Bei XSS kontrolliert er alles.
  3. Double Submit Cookie?
    Eine CSRF-Abwehr für Stateless Apps. Man sendet das Token im Cookie UND im Header. Der Hacker kann das Cookie nicht lesen und deshalb nicht in den Header kopieren. Der Server prüft, ob beide gleich sind.