SupraTix Logo
Definition und Vorgehen bei Cross Site Request Forgery

Definition und Vorgehen bei Cross Site Request Forgery

Öffentlich
Es sind noch 0 von None Plätzen verfügbar.

Unter Cross-Site Request Forgery-Attacken, auch XSRF- oder CSRF-Attacken genannt, wird eine webseitenübergreifende Anfragenfälschung (cross-site = seitenübergreifend; request = Anfrage; forgery = Fälschung) verstanden. Hauptsächlich finden diese Art der Attacken im Bereich der Webanwendungen statt.

Eine CSRF-Attacke missbraucht das Vertrauen einer Web-Applikation (Webanwendung) durch einen authentifizierten Benutzer. Hierzu tarnt sich der Angreifer gegenüber der anzugreifenden Web-Applikation als ein authentifizierter / eingeloggter Benutzer, weshalb die Web-Applikation ihn als vertrauenswürdig einstuft und seine gefälschten Anfragen ausführt.

Um sich als authentifizierter Nutzer auszugeben, bemächtigt sich der Angreifer mit den, im Browser des Opfers, gespeicherten Cookies, wenn dieser eine Session auf einer bestimmten Webseite startet (wie bspw. Wunschliste bei Zalando anschauen, denn dafür ist eine Anmeldung des Nutzers erforderlich).


Abbildung 1: Der Vorgang bei einer CSRF-Attacke.



1. Das Opfer loggt sich ein und erstellt eine Session zur CSRF-unsicheren Webanwendung (Wunschliste von Zalando oder Onlinebankingseite). Er authentifiziert sich.
  • Der Browser des Opfers erhält vom Server einen Cookie zur Wiedererkennung des Opfers.
2. Das Opfer öffnet aus bestimmten Gründen ein neues Browser-Fenster oder einen neuen Tab im Browser oder klickt auf einen schädlichen Link in einer E-Mail, welches/r ihn auf eine bösartige Webseite führt.
  • Ohne sich von der Zalandoseite oder der Onlinebankingseite abzumelden, navigiert sich das Opfer auf eine andere Seite (z. B. könnte via E-Mail ein Link zu einer Online-Umfrage zur Zufriedenheit zugeschickt werden und das leichtgläubige sowie ahnungslose Opfer öffnet diesen Link.
  • Ein beliebter Weg für Angreifer eine CSRF-Attacke auszuführen, geht über die Benutzung von Verlinkungen in Bildern oder JavaScript Image-Objekten auf einer Webseite. Auf diese Weise wird ganz automatisch der Aufruf einer Adresse des Opfer-Systems nach sich gezogen. 
3. Diese bösartige Webseite verbirgt in sich ein Formular oder ein Skript, wodurch der Browser des Opfers dazu veranlasst wird, unautorisierte (bzw. eben gefälschte) Anfragen an die CSRF-ungesicherte Web-Applikation zu senden, die der Angreifer speziell angefertigt hat. Dies war dem Angreifer möglich, weil das Opfer seine vorherig genutzte Webanwendung nicht geschlossen hatte und der Angreifer so Zugriff auf dessen Session Cookie hatte und diesen für seine Attacke ausnutzte.

Von diesem Cookie-Missbrauch bekommen die Opfer allerdings nichts mit.

Die Voraussetzungen für diese Attacke sind somit, dass das potentielle Opfer zuvor in einer Webanwendung eingeloggt ist und sich damit authentifiziert hat und durch eine Verkettung unglücklicher Umstände auf einer manipulierten, aber irgendwie vertrauenswürdig aussehenden Webseite eines Angreifers gelandet ist.
Ein präparierter Link könnte beispielsweise wie folgt aussehen: http: //www.site.com/stocks?buy=1000&stock=abc . Dieser Link enthält die durchzuführende Operation (buy), die Menge (1000), den Gegenstand der Operation (stock) und einen Identifikator (abc; wie z. B. bestimmte Farbe). Klickt der Benutzer bzw. das Opfer auf diesen Link wird eine Kaufoperation ausgelöst, die er ohne einen prüfenden Blick auf die URL bzw. den Link nicht bemerkt.

Die Wirkung solch einer Attacke kann unterschiedlich sein, je nachdem auf was es der Angreifer abgesehen hat. Der Angreifer kann z. B. über ein speziell angefertigtes Skript, was er versteckt auf einer Webseite untergebracht hat, ein Gebot im Namen des Nutzers bzw. des Opfers auf einer Ersteigerungswebseite abgeben. Dazu muss der Angreifer lediglich eine manipulierte http-Anfrage in die Webseite eines Artikels der Ersteigerungswebseite einbetten.

Dies kann er z. B. über einen Schadcode in den Bildinformationen einer Anzeige erreichen. Wenn der Angreifer den Schadcode in den Bildinformationen versteckt, dann erhält der Nutzer (das Opfer) als Output auf seine Anfrage lediglich ein Bild mit einem „?“. Dieses „?“ steht bekanntlich für das „Nicht-Finden“ eines Bildes. Der Grund dafür ist, dass sich anstelle eines Bild-Tags der Schadlink bzw. –code des Angreifers befindet, der im Hintergrund ein bestimmtes Skript auslöst (Gebot abgeben). Der Browser des Opfers kann an dieser Stelle deshalb auf keine Bild-Information zurückgreifen, denn es ist ja keine da.

Abbildung 2: Der Schadcode ist hinter einem vorgetäuschten Bild versteckt, was nicht gefunden werden kann, da es ja nicht vorhanden ist.



In einem weiteren Schritt ist es dem Angreifer sogar möglich, durch seine CSRF-Attacke das Passwort des Benutzers bzw. Opfers zu ändern, der dann keinen Zugriff mehr auf sein Benutzerkonto hat. Der Angreifer kann dann auch Daten ändern oder sie gar löschen. Besitzt der Benutzer bzw. das Opfer zugleich Administratorrechte, ist eine CSRF-Attacke besonders gefährlich, da nicht nur die Daten des Opfers, sondern die vieler anderer auch manipuliert werden können.

Fakten Fakten Fakten

  • Angreifer präferieren „kritische Formulare“, die einen authentifizierten und autorisierten Benutzer erfordern und Operationen im Hintergrund auslösen (wie z. B. Bestellungen oder Verwaltungsaufgaben in einer Datenbank, wie etwa das Anlegen oder Bearbeiten von Stammdaten, Benutzern usw.),
  • V. a. Links können wesentlich einfacher ausgenutzt werden,
  • Platz 5 der gefährlichsten Fehler / Schwachstellen in einem System (nach der OWASP = Open Web Application Security Project).

Watch-Party

Session wird geladen ...

Viewer: 0