Saltar al contenido
uencoder

CSRF

CSRF (cross-site request forgery) es una vulnerabilidad donde el atacante engaña a un usuario conectado para que envíe sin saberlo una petición maliciosa al sitio objetivo.

Propósito

Evitar que los atacantes tomen prestada la sesión de la víctima para realizar operaciones no autorizadas.

Mecanismo

El atacante aloja una página maliciosa con <form> o <img> que envía una petición al sitio objetivo. El navegador adjunta cookies automáticamente y el servidor la confunde con el usuario. Defensas: tokens CSRF (tokens sincronizadores), cookies SameSite, comprobación de cabeceras Origin/Referer.

Casos de uso

  • Transferencias bancarias falsificadas
  • Cambio de configuración de cuentas
  • Publicación de contenido o comentarios
  • Operaciones de borrado de datos

Ejemplos

  • entrada
    <form action="bank.com/transfer" method="POST">
    Output
    Transfer initiated riding on cookies

    Cross-site forgery

Errores comunes

Relying solely on cookie authentication without a CSRF token
Add a CSRF token or SameSite=Strict

Términos relacionados

References