El Ataque CSRF (o Falsificación de petición en sitios cruzados) es una técnica maliciosa en la que un atacante incita a un usuario a ejecutar, sin su conocimientoacciones no deseadas en una aplicación web a la que está adjunta. ya autentificado. El objetivo es desviar la confianza que la aplicación concede al usuario, aprovechando la galletas o identificadores almacenados en el navegador.
- CATEGORÍA : 🔴 Ataque informático
- FRECUENCIA : 🔥🔥🔥
- PELIGROSO : 💀💀💀
- DIFICULTAD DE ERRADICACIÓN : 🧹🧹🧹
Cómo funciona
- Escenario típico :
- El usuario está conectado a un sitio (por ejemplo, banca en línea, redes sociales).
- Visitan un sitio malicioso o hacen clic en un enlace trampa.
- Este enlace lanza una petición HTTP a la aplicación de destino, utilizando las cookies de sesión del usuario.
- La aplicación trata la petición como legítima, porque proviene de un navegador autenticado.
- Un ejemplo concreto :
<formulario acción="https://banque.com/transfer" método="POST"> <entrada tipo="oculto" nombre="importe" valor="1000"> <entrada tipo="oculto" nombre="cuenta" valor="CUENTA_ATACANTE"> </formulario> <script>documento.formularios[0].enviar();</script>
Si el usuario está conectado a
banco.com
solicitar transferencias de 1.000 euros sin su consentimiento
📌 Condiciones necesarias
- Autenticación de cookies la aplicación utiliza cookies para gestionar las sesiones
- Sin protección CSRF sin fichas aleatorias (CSRF token) no es necesario para validar las solicitudes sensibles
- Consultas predictivas el parámetros de la acción (por ejemplo, URL, campos de formulario) puede adivinarse
🎯 Posibles acciones a través de CSRF
- Cambiar contraseñas o direcciones de correo electrónico
- Publicación de contenidos no deseados (por ejemplo, redes sociales)
- Transferencias bancarias, compras no autorizadas
- Borrar cuentas o datos
🛡️ Métodos de protección
- Fichas CSRF :
- Generar un token único y aleatorio para cada formulario o solicitud.
- El servidor comprueba este token antes de ejecutar la acción.
- Cookies de SameSite :
- Definir la
MismoSitio=Estricto
oLax
para evitar que se envíen cookies en las solicitudes de sitios cruzados.
- Definir la
- Comprobación del Referer/Origen :
- Compruebe que la solicitud procede del mismo dominio que la aplicación.
- Reconocimiento de usuarios :
- Solicitar una contraseña o 2FA para acciones críticas.
🔍 Ejemplo
- En 2018, un vulnerabilidad Se ha encontrado CSRF en drupalpermitiendo a los atacantes modificar la configuración administrativa.
⚠️ Diferencia entre CSRF y XSS
- CSRF : explota la confianza de un sitio en el usuario.
- XSS se aprovecha de la confianza del usuario en un sitio (inyección código malicioso).
📊 Estadísticas
- OWASP Clasificado en el Top 10 de riesgos web hasta 2017, hoy es menos frecuente gracias a la protección moderna.
- Recompensas por fallos Las primas por vulnerabilidades CSRF varían entre 500 y 5.000 euros en función de la criticidad.