WAFPlanet

Cross-Site Request Forgery (CSRF)

Angriffstypen

Quick Definition

Ein Angriff, der authentifizierte Benutzer dazu bringt, ungewollte Anfragen an eine Webanwendung zu senden, bei der sie aktuell authentifiziert sind.

Was ist Cross-Site Request Forgery?

Cross-Site Request Forgery (CSRF) ist ein Angriff, der authentifizierte Benutzer zwingt, Aktionen auszuführen, die sie nicht beabsichtigt haben. Wenn ein Benutzer bei einer Webanwendung angemeldet ist, fügt sein Browser automatisch Session-Cookies bei jeder Anfrage an diese Domain hinzu. CSRF nutzt dieses Vertrauen aus, indem es den Browser des Benutzers dazu bringt, Anfragen an die Zielanwendung zu stellen.

Ein erfolgreicher CSRF-Angriff kann:

  • E-Mail-Adressen oder Passwörter von Konten ändern
  • Geldmittel überweisen (bei Banking-Anwendungen)
  • Einkäufe tätigen
  • Benutzereinstellungen ändern
  • Inhalte im Namen des Benutzers posten

CSRF-Angriffe werden verhindert durch:

  • Verwendung von CSRF-Tokens (einzigartige pro-Session- oder pro-Anfrage-Tokens)
  • Überprüfung des Referer-Headers
  • Verwendung des SameSite-Cookie-Attributs
  • Erfordernis einer erneuten Authentifizierung für sensible Aktionen

Beispiele

Ein Angreifer hostet eine Seite mit einem versteckten Formular, das automatisch absendet:

<form action="https://bank.com/transfer" method="POST"> <input type="hidden" name="amount" value="10000"> <input type="hidden" name="to" value="attacker"> </form> <script>document.forms[0].submit();</script>

Wenn ein angemeldeter Bank-Benutzer diese Seite besucht, wird sein Browser die Überweisung mit seiner authentifizierten Session durchführen.