it-swarm.dev

Come posso verificare che i miei cookie vengano inviati solo tramite https crittografati e non http?

Ho letto un post sul blog GitHub passa a SSL, ma rimane Firesheepable che ha affermato che i cookie possono essere inviati non crittografati su http anche se il sito utilizza solo https. Scrivono che un cookie dovrebbe essere contrassegnato con una "bandiera sicura", ma non so come sia quella bandiera.

Come posso verificare che i miei cookie vengano inviati solo su https crittografati e non su http non crittografati, sul mio sito che utilizza solo https?

45
Jonas

La bandiera sicura dei cookie si presenta così:

sicuro;

Questo è tutto.
Questo dovrebbe apparire alla fine dell'intestazione Http:

Set-Cookie: mycookie = somevalue; path =/SecureSite /; Scade = 12/12/2010; sicuro; HttpOnly;

Naturalmente, per controllarlo, basta collegare qualsiasi proxy o sniffer (io uso l'eccellente Fiddler ) e guardo ...

* Bonus: ho anche inserito l'attributo httpOnly, protegge dall'accesso ai cookie dallo spazio Javascript, ad es. tramite XSS.

48
AviD

Puoi controllare usando uno strumento come Firebug (un'estensione per Firefox: http://getfirebug.com/ ). Il cookie verrà visualizzato come "sicuro".

Inoltre, se sei su Firefox, puoi essere certo nella finestra "Rimuovi singoli cookie".

Da un punto di vista dello sviluppo, un cookie "sicuro" è uguale a quello normale, ma contiene un parametro aggiuntivo. per esempio.

SessionId=blah; path=/; secure; HttpOnly

Il tuo framework di sviluppo con la speranza che supporti l'aggiunta di questo facilmente - facci sapere quale piattaforma stai usando se hai bisogno di aiuto.

Mentre sei lì, suggerirei di aggiungere anche il flag HttpOnly se non stai manipolando i cookie in Javascript, fornirà ai cookie una protezione aggiuntiva da alcuni attacchi XSS.

19
KirkJ

Puoi anche utilizzare il plug-in di Google Chrome per ottenere questo un ottimo risultato è Advance REST Client

Un output di esempio è simile al seguente:

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

Come vedi alla fine del valore dell'attributo ' Set-Cookie ' vedrai la parola ' secure 'come commentato più volte sulle risposte precedenti, ma nota anche come esiste un attributo chiamato' Strict-Transport-Security ", che è importante menzionare.

3
d1jhoni1b