Learn-json-web-tokens: Sicherheitslücken

Erstellt am 4. Jan. 2019  ·  3Kommentare  ·  Quelle: dwyl/learn-json-web-tokens

Nur ein Vorschlag: Es wäre cool, einige Informationen zu Sicherheitsbedenken in verschiedenen JWT-Speichermethoden auf der Clientseite (Cookie/localStorage) hinzuzufügen - XSS, CSRF usw.

discuss enhancement help wanted

Hilfreichster Kommentar

@nelsonic

Für JWTs gelten dieselben Sicherheitsbedenken wie für andere Token-Schemata.
Wenn ein böswilliger Benutzer einen XSS-Angriff auf die Domäne ausführen kann, kann er das JWT erwerben und damit die Identität des Benutzers annehmen, unabhängig davon, wie es auf dem Client gespeichert ist.
Malicious JS kann Cookies und localStorage genauso leicht lesen und durchsickern.

Ich stimme teilweise zu. Sie haben so etwas wie ein httpOnly und secure Cookie, das einen Angreifer daran hindert, Ihr JWT zu erwerben. Aber ich stimme voll und ganz zu, dass, wenn Sie offen für XSS-Angriffe sind, Sie dies vor nichts schützt, da jemand im Namen des Benutzers Dinge tun kann (nicht den Token stehlen, sondern ein bösartiges Skript einschleusen).

Also denke ich, dass es am Ende egal ist, ob Sie localStorage oder ein cookie - wenn Sie offen für OWASP-Angriffe sind, sind Sie am Arsch. Aber wenn Sie davor geschützt sind, sollten Sie mit beiden Methoden auf der sicheren Seite sein.

Ich würde gerne ein bisschen PR vorbereiten, aber ich habe gerade Zeitnot und werde in den nächsten 1-2 Monaten frei sein. Wenn mich nicht jemand überholt, bereite ich eine PR vor 😄

Alle 3 Kommentare

@sarneeh danke für das Öffnen dieses Themas. 👍
Wenn Sie Zeit haben, einen Pull Request zu erstellen, machen Sie es bitte! (_Sie haben Schreibzugriff auf dieses Repository_)

Für JWTs gelten dieselben Sicherheitsbedenken wie für andere Token-Schemata.
Wenn ein böswilliger Benutzer einen XSS-Angriff auf die Domäne ausführen kann, kann er das JWT erwerben und damit die Identität des Benutzers annehmen, unabhängig davon, wie es auf dem Client gespeichert ist.
Malicious JS kann Cookies und localStorage genauso leicht lesen und durchsickern.

Wir sollten Personen, die JWTs verwenden, darauf hinweisen, dass diese keinen Schutz vor OWASP-Angriffen bieten und lediglich eine _bequeme_ Möglichkeit sind, signierte Ansprüche/Daten zu übertragen. 📝

@nelsonic

Für JWTs gelten dieselben Sicherheitsbedenken wie für andere Token-Schemata.
Wenn ein böswilliger Benutzer einen XSS-Angriff auf die Domäne ausführen kann, kann er das JWT erwerben und damit die Identität des Benutzers annehmen, unabhängig davon, wie es auf dem Client gespeichert ist.
Malicious JS kann Cookies und localStorage genauso leicht lesen und durchsickern.

Ich stimme teilweise zu. Sie haben so etwas wie ein httpOnly und secure Cookie, das einen Angreifer daran hindert, Ihr JWT zu erwerben. Aber ich stimme voll und ganz zu, dass, wenn Sie offen für XSS-Angriffe sind, Sie dies vor nichts schützt, da jemand im Namen des Benutzers Dinge tun kann (nicht den Token stehlen, sondern ein bösartiges Skript einschleusen).

Also denke ich, dass es am Ende egal ist, ob Sie localStorage oder ein cookie - wenn Sie offen für OWASP-Angriffe sind, sind Sie am Arsch. Aber wenn Sie davor geschützt sind, sollten Sie mit beiden Methoden auf der sicheren Seite sein.

Ich würde gerne ein bisschen PR vorbereiten, aber ich habe gerade Zeitnot und werde in den nächsten 1-2 Monaten frei sein. Wenn mich nicht jemand überholt, bereite ich eine PR vor 😄

@sarneeh danke für das Öffnen dieses Themas.
Wenn Sie Zeit haben, einen Pull Request zu erstellen, machen Sie es bitte! (_Sie haben Schreibzugriff auf dieses Repository_)

Für JWTs gelten dieselben Sicherheitsbedenken wie für andere Token-Schemata.
Wenn ein böswilliger Benutzer einen XSS-Angriff auf die Domäne ausführen kann, kann er das JWT erwerben und damit die Identität des Benutzers annehmen, unabhängig davon, wie es auf dem Client gespeichert ist.
Malicious JS kann Cookies und localStorage genauso leicht lesen und durchsickern.

Wir sollten Personen, die JWTs verwenden, darauf hinweisen, dass diese keinen Schutz vor OWASP-Angriffen bieten und lediglich eine _bequeme_ Möglichkeit sind, signierte Ansprüche/Daten zu übertragen.

Wie oben erwähnt, kann das Cookie die Option httpOnly haben.
Laut diesem Artikel ist es wirklich unsicher, localstorage anstelle von httponly Cookie zu verwenden

Obwohl ich im vorherigen Abschnitt das Gefühl hatte, dass Sie niemals sensible Informationen im lokalen Speicher speichern sollten, habe ich das Bedürfnis, JSON Web Tokens (JWTs) ausdrücklich zu nennen.
Die größten Sicherheitssünder, die ich heute sehe, sind diejenigen von uns, die JWTs (Sitzungsdaten) im lokalen Speicher speichern. Viele Leute wissen nicht, dass JWTs im Wesentlichen dasselbe sind wie ein Benutzername/Passwort.
Wenn ein Angreifer eine Kopie Ihres JWT erhalten kann, kann er in Ihrem Namen Anfragen an die Website stellen, und Sie werden es nie erfahren. Behandeln Sie Ihre JWTs wie eine Kreditkartennummer oder ein Passwort: Bewahren Sie sie niemals im lokalen Speicher auf.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

KumarS-Naveen picture KumarS-Naveen  ·  3Kommentare

nelsonic picture nelsonic  ·  4Kommentare

rjmk picture rjmk  ·  9Kommentare

alanshaw picture alanshaw  ·  6Kommentare

NE-SmallTown picture NE-SmallTown  ·  5Kommentare