CSRF formaba parte de listas más antiguas de OWASP TOP 10, pero se retiró "ya que muchos marcos incluyen defensas CSRF, solo se encontró en el 5% de las aplicaciones". Pero incluso sin los marcos que hacen la defensa CSRF, tengo la sensación de que los navegadores modernos ya mitigan el problema. Las cookies y los encabezados necesarios para la autenticación no se envían de forma predeterminada en las solicitudes entre sitios.
Por ejemplo, si un XMLHttpRequest
debería enviar cookies, se debe establecer withcredentials
-flag. E incluso entonces, el servidor de destino tiene que implementar un encabezado CORS para que la solicitud sea exitosa. Al menos en Chrome.
Ahora me pregunto qué navegadores ya implementan esas contramedidas y si son suficientes como defensa o si todavía tenemos que implementar las mitigaciones de CSRF en nuestras aplicaciones.