it-swarm-eu.dev

Wie kann ich überprüfen, ob meine Cookies nur über verschlüsseltes https und nicht über http gesendet werden?

Ich habe einen Blog-Beitrag gelesen GitHub wechselt zu SSL, bleibt aber Firesheepable , der behauptet, dass Cookies unverschlüsselt über http gesendet werden können, selbst wenn die Site nur https verwendet. Sie schreiben, dass ein Cookie mit einer "sicheren Flagge" gekennzeichnet werden sollte, aber ich weiß nicht, wie diese Flagge aussieht.

Wie kann ich überprüfen, ob meine Cookies nur über verschlüsseltes https und nicht über unverschlüsseltes http auf meiner Website gesendet werden, die nur https verwendet?

45
Jonas

Die Cookies-Sicherheitsflag sieht folgendermaßen aus:

sichern;

Das ist es.
Dies sollte am Ende des HTTP-Headers erscheinen:

Set-Cookie: mycookie = somevalue; Pfad =/Sicherheitsstandort /; Läuft ab = 12/12/2010; sichern; httpOnly;

Um es zu überprüfen, schließen Sie einfach einen Proxy oder Sniffer an (ich benutze das ausgezeichnete Fiddler ) und schauen Sie zu ...

* Bonus: Ich habe dort auch das httpOnly-Attribut eingefügt, das vor Cookie-Zugriff aus dem Javascript-Bereich schützt, z. über XSS.

48
AviD

Sie können dies mit einem Tool wie Firebug überprüfen (eine Erweiterung für Firefox: http://getfirebug.com/ ). Das Cookie wird als "sicher" angezeigt.

Auch wenn Sie in Firefox sind, können Sie im Fenster "Einzelne Cookies entfernen" nachsehen, um sicherzugehen.

Aus entwicklungspolitischer Sicht ist ein "sicheres" Cookie dasselbe wie ein normales, enthält jedoch einen zusätzlichen Parameter. z.B.

SessionId=blah; path=/; secure; HttpOnly

Ihr Entwicklungsframework unterstützt hoffentlich das Hinzufügen einfach - lassen Sie uns wissen, welche Plattform Sie verwenden, wenn Sie Hilfe benötigen.

Während Sie dort sind, würde ich vorschlagen, auch das HttpOnly-Flag hinzuzufügen, wenn Sie keine Cookies in Javascript manipulieren. Dadurch erhalten die Cookies zusätzlichen Schutz vor einigen XSS-Angriffen.

19
KirkJ

Sie können auch das Plugin von Google Chrome verwenden, um dies zu erreichen. Dies ist sehr gut Advance REST Client

Eine Beispielausgabe sieht folgendermaßen aus:

Connection: keep-alive
Strict-Transport-Security: max-age=31536000
Content-Type: application/json
Content-Length: 104
X-Content-Type-Options: nosniff
Server: WEBrick/1.3.1 (Ruby/2.0.0/2015-12-16)
Date: Thu, 25 Aug 2016 07:15:57 GMT
Set-Cookie: your.cookie.name=some-hash-uuid-here; domain=your-backend-hostname.com; path=/; expires=Sat, 24 Sep 2016 07:15:57 -0000; HttpOnly; secure
Via: 1.1 vegur

Wie Sie am Ende des Attributwerts ' Set-Cookie ' sehen, sehen Sie das Wort ' Secure 'wie mehrfach zu den vorherigen Antworten kommentiert, aber beachten Sie auch, wie es ein Attribut namens' Strict-Transport-Security 'was wichtig zu erwähnen ist.

3
d1jhoni1b