Falsificación de petición en sitios cruzados (CSRF)

CSRF, Session riding, One-click attack, XSRF, Cross-site reference forgery
Cross-Site Request Forgery (CSRF) es una técnica de ataque en la que una parte malintencionada hace que un usuario realice acciones no deseadas en un sitio web sin ser detectado. Crucial para tiendas online y portales de clientes.

¿Qué es la falsificación de petición de sitios cruzados?

Cross-Site Request Forgery (CSRF) es una amenaza de seguridad en la que un atacante hace que un usuario conectado ejecute imperceptiblemente comandos en un sitio web en el que dicho usuario está conectado. El ataque abusa de la confianza que un sitio web tiene en el navegador del usuario. Piense en un empleado que, sin saberlo, cambia datos de la empresa o autoriza pagos a través de un enlace de apariencia inocente en un correo electrónico. Para las PYME con tiendas online, portales de clientes o sistemas internos, el CSRF supone un riesgo directo de pérdida de datos, transacciones no autorizadas y daños a la reputación.

Cómo funciona en la práctica un ataque CSRF

Un ataque CSRF se desarrolla en cuatro pasos. En primer lugar, un empleado o cliente se conecta a un sitio web seguro, por ejemplo, el panel de gestión de una tienda online o un portal de clientes. El navegador almacena una cookie de sesión para mantener al usuario conectado. A continuación, ese mismo usuario abre un sitio web malicioso en otra pestaña o hace clic en un enlace preparado en un correo electrónico. Esa página externa contiene código oculto que envía automáticamente una petición al sitio web donde el usuario sigue conectado. Como el navegador incluye automáticamente la cookie de sesión, el sitio web acepta la petición como legítima. Esto permite a un atacante cambiar productos, realizar pedidos o modificar los derechos del usuario sin necesidad de contraseña. El usuario no suele darse cuenta de nada porque la acción tiene lugar en segundo plano.

Por qué la protección CSRF es ahora esencial para las aplicaciones web

El CSRF existe desde principios de la década de 2000, pero sigue siendo de actualidad porque muchos sitios web aún no están suficientemente protegidos. Las aplicaciones web modernas utilizan cada vez más API e integraciones externas, lo que aumenta la superficie de ataque. En España, el Reglamento General de Protección de Datos (RGPD) obliga a las empresas a adoptar las medidas técnicas adecuadas contra el tratamiento no autorizado de datos personales. Un ataque CSRF que tenga éxito puede dar lugar a una fuga de datos que deba notificarse a la Autoridad de Protección de Datos. Además, la Ley Europea de Accesibilidad exige que los sitios web sean seguros y fiables. Para las pymes, esto significa que la protección contra CSRF no es un simple «extra», sino un requisito de cumplimiento normativo.

Qué aporta la protección CSRF a su sitio web o tienda online

Una protección CSRF eficaz impide que los atacantes abusen de las sesiones iniciadas. Esto protege no sólo los datos de los clientes, sino también las funciones críticas para la empresa, como la gestión de existencias y precios. Para una tienda online con 500 productos, un cambio de precio no autorizado puede suponer miles de euros de ventas perdidas antes de que usted se dé cuenta. En una tienda online profesional, los tokens CSRF se incorporan por defecto a los formularios y a las llamadas a la API. Estos tokens son únicos por sesión y verifican que cada solicitud procede realmente del usuario. Además, una buena seguridad evita que su empresa sea responsable de los daños causados por un ataque. Combinada con otras medidas como la Política de Seguridad de Contenidos y la protección contra XSS, se construye una sólida línea de defensa.

Aplicaciones de la protección CSRF

La protección contra el CSRF no es una medida de seguridad abstracta, sino una técnica concreta que se incorpora a diferentes capas de su sitio web o aplicación. El enfoque más eficaz combina varios métodos, adaptados a la forma en que los usuarios interactúan con su sistema. A continuación se presentan cuatro situaciones en las que la protección CSRF marca la diferencia entre una aplicación segura y una vulnerable.

Protección de formularios en tiendas online y portales de clientes

Cualquier formulario que modifique datos o desencadene acciones necesita protección CSRF. Piense en un formulario de pedido, un cambio de dirección o un restablecimiento de contraseña. El método más utilizado es un token CSRF: un código único y aleatorio que el servidor genera al cargar la página y envía en un campo oculto. Cuando el usuario envía el formulario, el servidor comprueba si el token es correcto y sigue siendo válido. Un atacante que intente enviar una solicitud desde un sitio externo no dispone de este token y es bloqueado. En una tienda online con miles de pedidos al mes, esto evita que personas malintencionadas puedan pedir productos o solicitar devoluciones en nombre de los clientes. Los frameworks modernos como WordPress, Laravel y Shopify incorporan tokens CSRF automáticamente, pero sólo si los configuras correctamente.

Protección de los puntos finales de API frente a llamadas no autorizadas

Cada vez más empresas utilizan API para intercambiar datos entre su sitio web, aplicación móvil y sistemas externos. Una API no segura es vulnerable a CSRF si la autenticación se realiza únicamente a través de cookies. La solución es incluir un token CSRF en el encabezado de la solicitud, además de las cookies. Para las API RESTful, se suele utilizar el encabezado 'X-CSRF-Token', que el cliente debe incluir en cada llamada. En una plataforma B2B con 30 clientes que realizan pedidos a través de la API, esto evita que un atacante manipule los pedidos en nombre de un cliente. Un enfoque alternativo es trabajar con JSON Web Tokens (JWT) en lugar de cookies de sesión, ya que los JWT no son enviados automáticamente por el navegador. Esto requiere una arquitectura de autenticación diferente, pero ofrece más control sobre quién puede hacer qué.

Cubrir funciones administrativas en sistemas CMS y CRM

Un ataque CSRF en un panel de gestión puede tener consecuencias de gran alcance. Un atacante puede modificar los derechos de los usuarios, suprimir contenidos o inyectar código malicioso. Para una PYME con 12 empleados que acceden al CMS, un ataque con éxito significa que todo el sitio web podría verse comprometido. La protección CSRF en el nivel de administrador funciona igual que para los formularios, pero requiere una atención especial a las sesiones prolongadas. Muchos empleados permanecen conectados durante horas, lo que aumenta el riesgo. Un buen enfoque combina tokens CSRF con un cierre de sesión automático tras inactividad y una reconfirmación para acciones críticas como borrar datos. En el desarrollo web profesional, incorporamos esto de serie, incluido el registro de actividades sospechosas.

Cuándo la protección CSRF es la elección correcta y cuándo no lo es

La protección CSRF es esencial para cualquier sitio web o aplicación en la que los usuarios inicien sesión y puedan realizar acciones. Esto se aplica a tiendas online, portales de clientes, entornos de intranet y todos los sistemas CMS. No es necesaria la protección CSRF para sitios web completamente estáticos sin función de inicio de sesión o para API públicas que sólo recuperan datos sin modificar nada (peticiones GET). Nota: un error común es pensar que HTTPS por sí solo proporciona suficiente protección. HTTPS cifra los datos en tránsito, pero no evita los ataques CSRF. Las empresas que piensan que su sitio es demasiado pequeño para interesar a los atacantes también subestiman el riesgo. Los ataques automatizados escanean toda la Web y se dirigen a los sitios vulnerables de las PYMES precisamente porque suelen ser menos seguros. Por lo tanto, combine siempre la protección contra CSRF con otras medidas como la autenticación de dos factores y actualizaciones periódicas de seguridad.

¿Quiere aplicar esto a su empresa? Monkey Vision ayuda a los empresarios de PYME con diseño web, posicionamiento web y soluciones digitales inteligentes. Concierte una reunión inicial sin compromiso y descubra lo que es posible para usted.

Planificar una reunión inicial

Preguntas frecuentes

No, CSRF y Cross-Site Scripting (XSS) son dos técnicas de ataque diferentes con un modus operandi distinto. En el XSS, un atacante inyecta código malicioso en un sitio web que luego se ejecuta en los navegadores de otros usuarios. En CSRF, un atacante fuerza a un usuario conectado a realizar acciones no deseadas en otro sitio web. La diferencia está en el objetivo: el XSS roba datos o secuestra sesiones, mientras que el CSRF realiza acciones no autorizadas. Sin embargo, ambos ataques pueden reforzarse mutuamente. Por ejemplo, un ataque XSS exitoso puede utilizarse para robar tokens CSRF, eludiendo la protección CSRF. Por lo tanto, es crucial abordar ambas vulnerabilidades con validación de entrada y tokens CSRF, respectivamente.

Ambos métodos protegen contra el CSRF, pero funcionan de forma diferente y se complementan. Los tokens CSRF son códigos únicos que se comprueban con cada formulario o llamada a la API. Funcionan en todos los navegadores y proporcionan un control total, pero requieren implementación en su código. Las cookies SameSite son una configuración del navegador que evita que las cookies se envíen automáticamente con las solicitudes de sitios externos. Esto es más fácil de implementar (una línea en su configuración de cookies), pero sólo ha sido ampliamente apoyado desde 2020. Para obtener la máxima protección, combine ambas: las cookies SameSite como primera línea de defensa y los tokens CSRF para las acciones críticas. Para una tienda online o aplicación existente, SameSite suele ser la solución más rápida, mientras que los tokens CSRF son la solución sólida a largo plazo.

La mayoría de los errores surgen de una implementación incompleta. Un error común es añadir tokens CSRF sólo a los formularios visibles, pero olvidarse de las llamadas AJAX o los puntos finales API. Esto deja partes de su aplicación vulnerables. Un segundo error es dejar los tokens válidos durante demasiado tiempo o reutilizarlos en varias sesiones, lo que da más tiempo a los atacantes. Almacenar los tokens en localStorage en lugar de como una cookie httpOnly también es arriesgado, ya que el código JavaScript (y por tanto los ataques XSS) pueden acceder a ellos. Por último, la protección CSRF sólo funciona si también utilizas correctamente las peticiones GET. Nunca utilice GET para acciones que modifiquen datos, sólo para recuperar información. De lo contrario, una simple URL de imagen ya puede desencadenar un ataque. Pruebe su implementación con herramientas como OWASP ZAP para detectar vulnerabilidades.

El mejor enfoque depende de su situación actual y de la complejidad de su sitio web. ¿Utiliza una plataforma existente, como WordPress o Shopify? Entonces compruebe primero si la protección CSRF integrada está activa y actualizada. ¿Tiene una aplicación personalizada o una tienda online? Entonces programe un análisis de seguridad gratuito de 30 minutos con Monkey Vision, en el que revisaremos su sistema en directo. Obtendrá inmediatamente el nombre de tres vulnerabilidades concretas, una evaluación del riesgo y una hoja de ruta para implementar correctamente la protección CSRF. Examinamos los formularios, las API y las funciones de administración, y le aconsejamos honestamente sobre lo que puede hacer usted mismo y dónde necesita ayuda profesional. Sin argumentos de venta, sólo consejos prácticos sobre desarrollo web y seguridad que puedes recoger este mes.

Sobre el autor

Monkey Vision

Monkey Vision es una agencia digital de servicios integrales con sede en Madrid, especializada en diseño web, posicionamiento web y automatización de IA para pymes. Nuestro equipo de estrategas en línea compila la base de conocimientos y la actualiza continuamente en función de las perspectivas actuales.

Fecha de publicación: 26-04-2026
Última actualización: 26-04-2026