La falsificación de solicitudes entre sitios (CSRF) es un método de ataque web que aprovecha vulnerabilidades en aplicaciones web. El término CSRF también puede referirse directamente a la propia vulnerabilidad.

Cuando una aplicación web presenta una vulnerabilidad CSRF, los atacantes pueden engañar a usuarios legítimos para que ejecuten acciones no deseadas en el sitio vulnerable sin su consentimiento explícito. Entre las posibles consecuencias se incluyen operaciones no autorizadas, como modificar datos de usuario, eliminar o alterar datos accidentalmente, realizar transacciones fraudulentas o iniciar acciones no autorizadas dentro de la aplicación atacada.

Un ataque CSRF típico se desarrolla de la siguiente manera:

  1. El atacante induce a los usuarios de una aplicación objetivo a visitar una página web maliciosa diseñada específicamente para llevar a cabo el ataque.
  2. Una vez que la víctima accede a esta página maliciosa, el atacante desencadena solicitudes POST no autorizadas a la aplicación vulnerable (en determinados casos, el mero hecho de visitar la página web puede desencadenar la solicitud maliciosa sin que el usuario tenga que realizar ninguna otra acción).
  3. La aplicación atacada procesa la solicitud POST no autorizada y realiza acciones no deseadas en nombre del usuario autenticado.

Para mitigar los ataques CSRF, las aplicaciones deben validar la legitimidad de las solicitudes POST entrantes. Un enfoque ampliamente adoptado consiste en implementar tokens conocidos como valores «nonce» («número utilizado una sola vez»). Un nonce es un identificador único generado aleatoriamente que se incluye en formularios HTTP legítimos en respuesta a las solicitudes de los usuarios. Al recibir posteriores envíos POST, la aplicación verifica el nonce para confirmar la autenticidad y la integridad de la solicitud.

Al enviar formularios en respuesta a solicitudes GET legítimas, el servidor incluye un valor nonce único e impredecible. Al recibir la correspondiente solicitud POST del cliente, la aplicación comprueba el nonce para confirmar la autenticidad y legitimidad de la solicitud.

Además, las soluciones de seguridad, como los firewalls de aplicaciones web (WAF) proporcionados por F5 BIG-IP Application Security Manager son muy eficaces para identificar y bloquear solicitudes maliciosas, evitando así que se exploten vulnerabilidades CSRF.