News

Attack Afternoon – CSRF Gegenmaßnahmen #1

Okt 17, 2019

Im letzten Post dieser Serie haben wir einen der wichtigsten Angriffe auf Webanwendungen vorgestellt: „Cross-Site Request Forgery“ (CSRF).

Kurz zur Wiederholung: Identifiziert eine Webanwendung einen Nutzer über Session-Cookies, schickt der Browser diese stets automatisch mit, sofern der Nutzer gerade angemeldet ist. Ein Angreifer kann nun z.B. auf einer manipulierten Seite, die der Nutzer besucht, HTTP-Requests an diese Webanwendung schicken. Ist diese für CSRF anfällig, achtet sie nur auf das vom Browser mitgeschickte, gültige Session-Cookie des Nutzers und führt die vom Angreifer gewünschte Funktionalität im Namen des Nutzers aus, ohne dass letzterer davon etwas mitbekommt. CSRF ist also ein Problem, das beim Session-Management via Cookies immer existiert und entsprechend gelöst werden muss.

Eine Möglichkeit, CSRF zu vermeiden, ist die Verwendung eines Anti-CSRF-Tokens. Die Anwendung generiert dabei pro Session einen ausreichend langen und (kryptographisch) zufälligen Token-Wert. Diesen schreibt die Anwendung beispielsweise als nicht sichtbares Formularfeld in die HTML-Seite. Das Token wird entsprechend nur beim Abschicken dieses HTML-Formulars durch den Nutzer mitgeschickt und nicht wie ein Cookie vom Browser automatisch an alle Requests angehängt. Beim Abschicken des Formulars nimmt die Anwendung das Token aus dem versteckten Formularfeld entgegen und prüft, ob dieses Anti-CSRF-Token mit dem Wert identisch ist, der zur Nutzer-Session gespeichert wurde.

Versucht ein Angreifer nun einen CSRF-Angriff, kann er zwar weiterhin den Inhalt des HTTP-Requests nach Belieben bestimmen und der Browser des Nutzers hängt wieder dessen Session-Cookie an; allerdings kann der Angreifer den Wert des korrekten, zur Nutzer-Session gehörenden Anti-CSRF-Tokens nicht erraten. Dieses steht ja lediglich auf der HTML-Seite des Nutzers, auf welche der Angreifer keinen Zugriff hat.  Die Anwendung weist einen solchen Request schließlich zurück und führt keine vom Angreifer
angestoßenen Aktionen aus.

Zum Glück bieten viele in der Entwicklung von Webanwendungen eingesetzte Frameworks Funktionalität zur Generierung, Übermittlung und Prüfung solcher Tokens an. Wichtig ist aber, dass diese Funktionalität überall aktiv und korrekt konfiguriert ist.

 

Attack Afternoon – CSRF Gegenmaßnahmen #1

Weitere wirksame Gegenmaßnahmen bekommen Sie in einem unserer nächsten Attack Afternoons. 

 

Haben sie schon einen CSRF-Schutz und möchten diesen überprüfen lassen? Kontaktieren Sie uns gerne! 

Recent posts

mgm sp @ Heise DevSec

Mit dem Thema „Wie praxistauglich ist „DevSecOps“ wirklich? – Ein Erfahrungsbericht“ ist unsere Kollegin Maximiliane Zirm dieses Jahr auf der Heise devSec vertreten. 

mehr lesen

Tool Tuesday – nmap

Ein Tool, das auf keinem Pentester-PC fehlen darf, ist nmap. Dieses Kommandozeilenwerkzeug ist das Schweizer Taschenmesser für Penetrationstests auf Netzwerkebene, wird aber auch von Systemadmins gerne genutzt.

mehr lesen

mgm sp @ München

In Herzen von Bayern befindet sich, bereits seit der Zeit von SecureNet, unsere Zentrale. Statten Sie unserem Standort einen Besuch ab!

mehr lesen