¿Puede la autenticación JWT actuar como un mecanismo anti-CSRF?

6

En la aplicación de página única Angular (Angular + REST API) uso la autenticación JWT . Asumamos que los tokens JWT se generan correctamente y son realmente aleatorios (no se puede predecir).

¿Es este token JWT suficiente protección contra falsificación de solicitudes entre sitios (CSRF) ? En otras palabras, ¿es JWT suficiente como token anti-CSRF también?

    
pregunta boleslaw.smialy 09.01.2018 - 11:35
fuente

1 respuesta

6

Si el JWT está en un encabezado, debe estar seguro. El atacante no puede engañar al navegador de las víctimas para que establezca el encabezado (a menos que CORS lo permita o ella aprovecha un antiguo Explosión de Flash ). Pero digamos que el atacante puede controlar el encabezado. Entonces, ¿a qué debería ponerla? Ella no lo sabría.

Por otra parte, si el JWT está en una cookie, será tan vulnerable como con una cookie de sesión ordinaria. Por lo tanto, si usted es vulnerable o no tiene mucho que ver con el tipo de token que usa (JWT o ID de sesión), tiene más que ver con dónde lo coloca (encabezado o cookie).

Incluso cuando la autenticación viene con la protección CSRF automágica, es posible que desee considerar agregar una protección CSRF explícita de todos modos. Siempre existe el riesgo de que alguien cambie el mecanismo de autenticación sin darse cuenta de que tiene doble propósito.

    
respondido por el Anders 09.01.2018 - 16:33
fuente

Lea otras preguntas en las etiquetas