La falsificación de solicitud entre sitios (CSRF) es un método de ataque basado en la web que explota vulnerabilidades en aplicações web. El término CSRF también puede referirse directamente a la vulnerabilidad en sí.
Cuando una aplicação web tiene una vulnerabilidad CSRF, los atacantes pueden engañar a los usuarios legítimos para que invoquen acciones no deseadas en el sitio vulnerable sin el consentimiento explícito de los usuarios. Los impactos potenciales incluyen operaciones no autorizadas como modificar datos del usuario, eliminar o alterar datos accidentalmente, ejecutar transacciones fraudulentas o iniciar acciones no autorizadas dentro de la aplicação en cuestión.
Un ataque CSRF típico se desarrolla de la siguiente manera:
Para mitigar los ataques CSRF, las aplicações deben validar la legitimidad de las solicitudes POST entrantes. Un enfoque ampliamente adoptado es implementar tokens conocidos como valores "nonce" ("número usado una vez"). Un nonce es un identificador único, generado aleatoriamente, integrado en formularios HTTP legítimos en respuesta a las solicitudes de los usuarios. Al recibir envíos POST posteriores, la aplicação verifica el nonce para confirmar la autenticidad e 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 solicitud POST correspondiente del cliente, la aplicação verifica el nonce para confirmar la autenticidad y legitimidad de la solicitud.
Además, las soluciones de seguridad como los firewalls de aplicação web (WAF) proporcionados por F5 BIG-IP Aplicação Security Manager son muy eficaces para identificar y bloquear solicitudes maliciosas para evitar que se exploten vulnerabilidades CSRF.