Preguntas de implementación de cookie de envío doble

2

He leído en la pregunta Double Submit Cookies y mientras responda Un montón de preguntas todavía estoy un poco confundido.

He echado un vistazo a este repositorio: enlace

El resumen de esta implementación es que en la solicitud autenticada envían un token CSRF en cookie1 y un token JWT (que incluye el token CSRF) en cookie2.

El cliente luego saca el token csrf de cookie1 y lo almacena localmente (asumido) y realiza una solicitud con un encabezado x-csrf-token con el token csrf.

El servidor luego decodifica el token JWT y extrae el token csrf de la respuesta original y lo compara con el encabezado del token x-csrf.

Mi pregunta es que si un atacante obtiene acceso a las cookies, no podrá extraer el token csrf de la cookie1 y enviar la solicitud con un encabezado x-csrf-token en una solicitud de formulario junto con la cookie2.

    
pregunta chapmatic 12.10.2017 - 19:47
fuente

1 respuesta

2

Las protecciones CSRF están allí para protegerlo de los atacantes que hacen que el navegador haga las cosas en su nombre automáticamente. En este caso, el cliente tiene que incluir el encabezado de la solicitud manualmente (probablemente a través de JavaScript). Una solicitud de navegador normal a través del formulario POST o del enlace GET nunca incluirá este encabezado, por lo que no puede tener lugar un ataque CSRF.

Eso es todos contra los que protege. Estás jodido si el atacante tiene una forma de robar las cookies porque solo pueden hacerse pasar por el usuario y hacer lo que quieran. O dicho de otra manera, también necesita encontrar una manera de evitar que las cookies sean robadas.

    
respondido por el Steve 12.10.2017 - 20:44
fuente

Lea otras preguntas en las etiquetas