it-swarm-es.com

¿Cómo puedo verificar que mis cookies solo se envían a través de https encriptados y no a través de http?

Leí una publicación de blog GitHub se mueve a SSL, pero sigue siendo Firesheepable que afirmaba que las cookies se pueden enviar sin cifrar a través de http, incluso si el sitio solo usa https. Escriben que una cookie debe estar marcada con una "bandera segura", pero no sé cómo se ve esa bandera.

¿Cómo puedo verificar que mis cookies solo se envían a través de https cifrados y no a través de http no cifrados, en mi sitio que solo usa https?

45
Jonas

La bandera de seguridad de cookies se ve así:

seguro;

Eso es.
Esto debería aparecer al final del encabezado Http:

Set-Cookie: mycookie = somevalue; ruta =/securesite /; Expira = 12/12/2010; seguro; httpOnly;

Por supuesto, para verificarlo, simplemente conecte cualquier proxy o sniffer (uso el excelente Fiddler ) y mire ...

* Bonificación: también agregué allí el atributo httpOnly, protege contra el acceso a cookies desde el espacio Javascript, p. a través de XSS.

48
AviD

Puede verificar usando una herramienta como Firebug (una extensión para Firefox: http://getfirebug.com/ ). La cookie se mostrará como "segura".

Además, si está en Firefox, puede buscar en la ventana 'Eliminar cookies individuales' para estar seguro.

Desde el punto de vista del desarrollo, una cookie 'segura' es igual a una cookie normal, pero tiene un parámetro adicional. p.ej.

SessionId=blah; path=/; secure; HttpOnly

Esperamos que su marco de desarrollo admita agregar esto fácilmente; díganos qué plataforma está utilizando si necesita ayuda.

Mientras esté allí, le sugiero que agregue también el indicador HttpOnly si no está manipulando cookies en Javascript, le dará a las cookies protección adicional contra algunos ataques XSS.

19
KirkJ

También puede usar el complemento de Google Chrome para lograr esto, un muy buen es Avance REST Cliente

Una salida de muestra se ve así:

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

Como ve al final del valor del atributo ' Set-Cookie ' verá la palabra ' segura 'como se comentó varias veces en las respuestas anteriores, pero también observa cómo hay un atributo llamado' Strict-Transport-Security 'que es importante mencionar.

3
d1jhoni1b