Falsificación de Petición en Sitios Cruzados (CSRF)
Quick Definition
Un ataque que engaña a usuarios autenticados para que envíen peticiones no deseadas a una aplicación web en la que están actualmente autenticados.
¿Qué es Falsificación de Petición en Sitios Cruzados?
La Falsificación de Petición en Sitios Cruzados (CSRF) es un ataque que obliga a usuarios autenticados a realizar acciones que no pretendían. Cuando un usuario está conectado a una aplicación web, su navegador incluye automáticamente las cookies de sesión con cada petición a ese dominio. CSRF explota esta confianza engañando al navegador del usuario para que haga peticiones a la aplicación objetivo.
Un ataque CSRF exitoso puede:
- Cambiar direcciones de email o contraseñas de cuentas
- Transferir fondos (en aplicaciones bancarias)
- Realizar compras
- Cambiar configuraciones del usuario
- Publicar contenido en nombre del usuario
Los ataques CSRF se previenen mediante:
- Uso de tokens CSRF (tokens únicos por sesión o por petición)
- Verificación del encabezado Referer
- Uso del atributo SameSite en cookies
- Requerir re-autenticación para acciones sensibles
Ejemplos
Un atacante aloja una página con un formulario oculto que se envía automáticamente:
<form action="https://banco.com/transferir" method="POST"> <input type="hidden" name="cantidad" value="10000"> <input type="hidden" name="a" value="atacante"> </form> <script>document.forms[0].submit();</script> Si un usuario del banco conectado visita esta página, su navegador realizará la transferencia usando su sesión autenticada.