Auge: Wie funktioniert CSRF? Verständnisproblem.

Beitrag lesen

Hallo

In einem Projekt, in das ich involviert bin, wurde (u.A.) eine Cross-Site-Request-Forgery-Sicherheitslücke gemeldet.

Hast du sie denn verursacht? Und sollst du sie nun schließen?

Nein und ja.

Alle Projekte, die mit Cookie-Authentifizierung arbeiten, sind von CSRF betroffen, sofern sie KEINE Gegenmaßnahmen ergreifen (wie CSRF-Token). Das ist das "täglich Brot" eines Webprogrammierers. Das sollte man unbedingt wissen, bevor man irgendwelche Projekte mit User-Authentifizierung online stellt.

Das ist wohl wahr. Das Projekt ist zu einer Zeit öffentlich verfügbar gemacht worden, als sich wohl noch kaum jemand um solche Angriffe Gedanken gemacht hat. Mit der erfolgten Meldung ist es höchste Zeit, sich damit zu beschäftigen.

In einem der Beiträge wird auf einen CSRF-Token verwiesen. Was macht der? Wie funktioniert der?

Der CSRF-Token ist eine weitere vertrauliche Information, die bei nicht-idempotenten Requests (PUT, POST, DELETE) zur Authentifizierung an den Server gesendet werden muss. Im Gegensatz zum Cookie wird der CSRF-Token nicht automatisch gesendet, wenn eine fremde Seite einen Request auf deine Seite initiiert. Der CSRF-Token wird üblicherweise in der User-Session auf dem Server gespeichert. Er wird z.B. in jedes Formular als Hidden Input geschrieben und wird mit den Formulardaten mitsendet. Erst wenn Cookie und CSRF-Token valide sind, dann ist der Request gültig.

Danke auch für deine Funktions- und Angriffsbeschreibungen …

… sowie die Links.

Tschö, Auge

--
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind *prust*