¿Es seguro reutilizar el token CSRF de una cookie existente (para una nueva pestaña en el navegador)?

1

Tenemos un sistema que realiza una solicitud asíncrona al backend para obtener CSRF (a través de AJAX). La respuesta del servidor es una nueva cookie y un encabezado que recordamos en javascript y usamos más adelante.

Todo funciona bien hasta que abramos dos pestañas, luego el token recordado de la primera pestaña no coincide con la nueva cookie porque se volvió a emitir. El plan para solucionar esto es verificar si el token CSRF ya existe en una cookie y devolver uno existente si es bueno.

Parece una solución buena y segura, pero me gustaría verificar aquí que esta solución no tiene inconvenientes.

    
pregunta Ilya Chernomordik 11.10.2017 - 14:12
fuente

1 respuesta

1

Parece que esto podría llevar a una forma de fijación de sesión, posiblemente impidiendo que el sistema vuelva a emitir un nuevo token asegurándose siempre de que la cookie tenga uno. El vector de exploits para esto podría ser un ataque MiTM. Sin embargo, las cookies de doble envío ya son algo vulnerables a los ataques de MiTM si no se realizan correctamente.

En general, con las cookies de doble envío no es necesario cambiar el token de cookies para cada solicitud, solo una vez por sesión.

Si necesita una protección más estricta, tiene sesiones de larga duración o varias sesiones distintas, debería mirar utilizando patrón de sincronización .

    
respondido por el Mark Burnett 12.10.2017 - 05:10
fuente

Lea otras preguntas en las etiquetas