Cookie cifrada para evitar ataques csrf

1

Para prevenir ataques CSRF, ¿la creación de una cookie cifrada con un nonce evita un ataque CSRF? Además, a eso se verifica la referencia contra el origen objetivo. No puedo cambiar miles de páginas para incrustar el token en cada envío y no tengo estado de sesión.

    
pregunta bdawg 15.11.2016 - 22:45
fuente

3 respuestas

1
  

Para prevenir ataques CSRF, ¿la creación de una cookie cifrada con un nonce evita un ataque CSRF?

No, exigir que ciertas cookies no se defiendan contra la falsificación de solicitudes en sitios cruzados, ya que el navegador seguirá enviando las cookies, independientemente de si la solicitud fue entre sitios o el mismo sitio.

  

Además, a eso se verifica la referencia contra el origen objetivo. No puedo cambiar miles de páginas para incrustar el token en cada envío y no tengo estado de sesión.

Lea la OWSAP CSRF Prevention Cheat Sheet para ver los métodos recomendados para evitar CSRF. Mire específicamente las técnicas de Verificación del mismo origen que son más fáciles de implementar que los tokens. También busque la descripción de OWSAP de las limitaciones de esta técnica, si las hay.

Si recuerdo correctamente, verificar el Origen es una contramedida efectiva contra CSRF para la mayoría (si no todos) los clientes "principales".

    
respondido por el George Bailey 15.11.2016 - 23:39
fuente
1

En primer lugar, tenemos que entender el problema principal sobre CSRF; el servidor confía en todas las solicitudes que enviamos, en otras palabras, el servidor no garantiza que la solicitud haya sido enviada conscientemente por un usuario legítimo, por este motivo, debemos agregar un elemento para identificar cada solicitud correctamente.

La idea principal para protegerse contra CSRF es la implementación de un elemento único y esto debe ser difícil de predecir, entonces las medidas como el token o CAPTCHA son buenas soluciones. El CAPTCHA no es eficiente en la mayoría de los casos, porque a un usuario no le gusta introducir valores en el CAPTCHA para cada sitio que visita, recuerde que debe haber un equilibrio entre la seguridad y el rendimiento, de esta manera, la solución principal será se token.

Ahora, verificar el origen no es suficiente para proteger contra CSRF; Imagine un sitio web vulnerable a XSS, puede inyectar un script para ejecutar un ataque CSRF; otro ejemplo podría ser un módulo editable en el que puede agregar o editar elementos para personalizar una página web que podría ser visitada por cada usuario de la aplicación, puede agregar algo como esto:

<img src="http://mywebsite/transfer?account=123456&quantity=1000000" />

Si la aplicación web valida el origen, en este caso, la solicitud será válida porque pertenece al mismo origen.

Espero que esta información te ayude.

    
respondido por el hmrojas.p 16.11.2016 - 16:26
fuente
0

No, el cifrado de la cookie no hace absolutamente nada para protegerse contra los ataques CSRF, ya que un atacante nunca necesita acceder a la cookie para realizar el ataque. El receptor lo envía automáticamente para el dominio en el que se configuró.

Por otra parte, verificar los encabezados de referencia y origen es bastante bueno, pero no es perfecto, ya que el cliente puede estar configurado para no enviar estos encabezados.

El envío del token en la solicitud es realmente la única solución perfecta, pero es probable que pueda salirse con la simple comprobación de los encabezados.

    
respondido por el Alexander O'Mara 15.11.2016 - 23:43
fuente

Lea otras preguntas en las etiquetas