¿Protección CSRF usando el token de autenticación en el encabezado HTTP? [duplicar]

2

Estoy trabajando en una aplicación web que almacena un token de autenticación en una cookie.

La única protección CSRF es la comprobación de referencias.

Estoy considerando mejorar esto moviendo el token de autenticación de las cookies a un encabezado personalizado, como X-AuthToken.

La aplicación es una aplicación de una sola página creada con JavaScript.

Creo que esto debería ser una protección robusta contra los ataques CSRF, porque si un sitio malvado obliga a los usuarios a realizar una POST HTTP, el encabezado de autenticación no se incluirá y la solicitud fallará.

El token de autenticación se genera por sesión.

¿Tengo razón en que esto ofrecería protección CSRF o me falta algo?

    
pregunta John Smith 27.01.2015 - 10:41
fuente

1 respuesta

2

Respuesta corta : sí, sería seguro si se implementara correctamente (tiempo suficiente, aleatorias, tokens únicos, uno por sesión, etc.).

Respuesta larga : si decide agregar un encabezado personalizado a las solicitudes enviadas al servidor utilizando el código JavaScript, es similar a enviar un valor anti-CSRF en los parámetros POST (con más frecuencia enfoque utilizado).

POST /test 
Host: www.example.com 
X-AuthToken: unique_random_value

p1=val1&p2=val2

o

POST /test 
Host: www.example.com

p1=val1&p2=val2&x-authtoken=unique_random_value

Por lo que depende de usted decidir qué opción es más fácil de implementar, pero ambas deben funcionar de manera segura.

    
respondido por el Dinu S 27.01.2015 - 13:53
fuente

Lea otras preguntas en las etiquetas