Skip to main content

CSRF

Falsificación de solicitud de sitios cruzados

Error relacionado

"Este servidor es vulnerable a un ataque de falsificación de solicitudes entre sitios. Añada a cada solicitud un token CSRF o un atributo de cookie SameSite".

Problema

Una falsificación de solicitud entre sitios (CSRF) es un ataque que hace al usuario a enviar involuntariamente una solicitud a una aplicación web contra la que está autenticado. Los ataques CSRF explotan la confianza que una aplicación web tiene en un usuario autenticado.

Los ataques CSRF suelen ser dirigidos, utilizando ingeniería social como, por ejemplo:

  • Correo electrónico de fraude electrónico

  • Enlace de chat

  • Alerta falsa

Cuando un usuario se conecta a una aplicación web, el atacante le pide que haga clic en una URL que contiene una solicitud no autorizada para una aplicación web específica. A continuación, el navegador del usuario envía esta solicitud maliciosamente elaborada a una aplicación web objetivo e incluye información de sesión como cookies de sesión o credenciales almacenadas. Si el usuario se encuentra en una sesión activa con una aplicación web objetivo, la aplicación procesará esta nueva solicitud como una solicitud iniciada por el usuario autorizado. En consecuencia, permitirá al atacante explotar la vulnerabilidad CSRF de la aplicación web.

El nivel del ataque depende del nivel de privilegios que tenga la víctima. El ataque CSRF no roba directamente la identidad de los usuarios, sino que explota al usuario para que realice acciones sin su voluntad.

Un ataque CSRF exitoso obliga al usuario a realizar la solicitud de cambio de estado como, por ejemplo:

  • Cambio de contraseña

  • Cambio de dirección de correo electrónico

  • Modificar o eliminar registros

  • Transferencia de fondos

  • Compras

Solución

Para prevenir un ataque CSRF:

  • Utilice tokens CSRF para todas las solicitudes de cambio de estado

    Un token CSRF, también conocido como token de sincronización o token de desafío, es un valor único y secreto generado en el lado del cliente para cada sesión de usuario, lo que hace imposible piratear y engañar al usuario.

  • Utilizar el atributo SameSite para las cookies de sesión

    Configure el atributo SameSite en las cookies como una capa adicional de protección junto con el token CSRF. El atributo SameSite permite que las cookies se envíen solo si la cookie y la solicitud se originan en el mismo dominio (y no en un dominio cruzado).

Nota

Es posible que los navegadores más antiguos no admitan la cookie SameSite.