¿Cómo se implementan las cookies y las sesiones para evitar la reutilización en otros lugares?

0

Tengo algunos escenarios:

  • Se genera una cookie en Chrome y se usará en Firefox en la misma máquina.
  • Se genera una cookie en Chrome y se usará en Chrome en una máquina diferente.
  • Se genera una cookie en Chrome y se usará en Firefox en una máquina diferente.

En los escenarios anteriores, ¿se puede reutilizar las cookies? Si no es así, ¿cómo implementar una sesión / cookie para evitar la reutilización en esos escenarios?

En mi opinión, creo que una cookie de sesión se implementa mediante:

  1. el servidor almacenó un par clave-valor así: clave para el usuario de identidad. y valor para los datos de usuario de la tienda, tiempo de sesión caducado ...
  2. el cliente almacenará la cookie, ya que la cookie contiene la clave en el servidor.

Por lo tanto, los ataques de objetos de valor pueden evitar los ataques anteriores, como "tipo de navegador", "nombre de la máquina" (obteniendo el valor ssh de alguna manera). Cada vez que el usuario solicita algo, el servidor obtendrá el tipo de navegador, el nombre de la máquina, la cookie y verificará la validez de todos los datos.

¿Pero cuál es el problema si el atacante puede falsificar el tipo de navegador, el nombre de la máquina? Por ejemplo, utilizando Firefox pero enviando detalles de Chrome como agente de navegador en su lugar.

    
pregunta hqt 03.07.2016 - 20:04
fuente

4 respuestas

4

Debería pensar en los modelos de amenazas en lugar de encontrar soluciones a problemas falsos.

¿Cuál es el modelo de amenaza aquí? ¿Que copie mi propia cookie de sesión a otra computadora? No es una amenaza real.

¿Preocupado por el robo de cookies de javascript? Utilizar httponly cookies

¿Preocupado por el malware que roba sus cookies? Utilice una computadora dedicada para comunicaciones de red sensibles. Puede obtener una Raspberry Pi Zero Wireless por $ 10

    
respondido por el Neil McGuigan 03.07.2016 - 20:53
fuente
3

No puede validar el navegador y el nombre de la máquina utilizados (no sé cómo obtenerlos), ya que todo esto es enviado por el cliente, por lo que un atacante puede enviar lo que quiera.

La seguridad solo se basa en el ID de sesión, un ID largo, aleatorio y único generado en el servidor y almacenado en la cookie.

Debes dar a todas las máquinas diferentes donde el usuario inicia sesión en una nueva Id. de sesión y no reutilizar una existente, porque si la sesión en una máquina solo borras esa identificación de sesión en el servidor y el usuario no se registra en todas las otras máquinas.

La única forma para que un atacante es armar el ID de sesión almacenado en la máquina del usuario, pero eso requiere un gran agujero de seguridad en la máquina.

    
respondido por el Julian 03.07.2016 - 20:57
fuente
1

Realmente no entiendo tus ataques. Se expresan muy vagamente. A riesgo de parecer pedante, le sugiero encarecidamente que evite utilizar la voz pasiva al describir el comportamiento en un contexto técnico.

Déjame intentar reescribirte:

  

Se genera una cookie en Chrome y se usará en Firefox en la misma máquina.

Si te refieres a

"Un usuario legítimo utiliza Chrome para acceder a mi sitio, que emite una cookie de sesión. Un usuario malintencionado copia la cookie de sesión en la tienda de cookies de Firefox y accede al sitio desde allí, haciéndose pasar por el usuario legítimo".

Mi respuesta a esto: no existe ninguna mitigación en el mundo que lo proteja de un usuario malintencionado con acceso a la máquina del usuario legítimo.

Si te refieres a

"Un usuario malintencionado usa Chrome para acceder a mi sitio, que emite una cookie de sesión. El usuario malintencionado copia la cookie de sesión en la tienda de cookies para Firefox y accede al sitio desde allí".

Mi respuesta a esto: ¿qué importa si el usuario malintencionado está utilizando Chrome o Firefox?

De todos modos, sea específico sobre la amenaza que está evaluando.

Además, tenga en cuenta que todos los navegadores mantienen almacenes de cookies independientes, por lo que tendría que haber una actividad específica para que las cookies de sesión se filtren entre ellos.

    
respondido por el John Wu 10.03.2017 - 23:30
fuente
0

Pensé que cada navegador almacena sus propias cookies. He comprobado la persistencia de mi laboratorio utilizando cookies con servidores detrás de un equilibrador de carga, por lo que no me enfrento a los escenarios que enfrenta. Considere la posibilidad de que un equilibrador de carga enfrente sus servidores parezca una opción inteligente.

He intentado usar diferentes navegadores en la misma computadora cliente que tiene acceso al mismo sitio y tuve carga equilibrada en diferentes servidores web utilizando la persistencia de cookies. A menos que haya utilizado la persistencia basada en la IP de origen, todos los navegadores irán al mismo servidor web.

    
respondido por el Davis 08.07.2016 - 06:44
fuente

Lea otras preguntas en las etiquetas