CSRF Tradicional
Los ataques CSRF convencionales suelen concentrarse en acciones de estado cambiante llevadas a cabo subiendo formularios. La víctima es engañada para subir un formulario sin darse cuenta de las cookies asociadas, los parámetros de la URL, etc. El servidor web de la víctima manda una petición HTTP a la aplicación web donde la víctima ya está autentificada. Estas suelen ser para transferir dinero, modificar información de la cuenta o alterar una dirección de correo electrónico.

El diagrama de arriba muestra los pasos tradicionales de un ataque CSRF:
- La víctima ya está autentificada en su sitio de banco online. Los atacantes crean un link malicioso y se lo mandan a la víctima.
- La víctima abre el email en el mismo navegador.
- Una vez hecho click, el link malicioso permite la autotransferencia de dinero del navegador de la víctima a la cuenta del atacante.
CSRF XMLHttpRequest
La explotación CSRF asíncrona ocurre cuando las operaciones se inician sin un ciclo completo de página petición-respuesta. Esto es típico de las apps online contemporáneas que aprovechan la comunicación asíncrona con el servidor (via XMLHttpRequest o Fetch API) y JavaScript para producir interfaces de usuario más dinámicas.
Considera un cliente de email online, por ejemplo, cuando un usuario puede cambiar sus preferencias de email sin recargar la página. Si esta aplicación es vulnerable a CSRF, un hacker puede crear una petición asíncrona falsa y alterar las preferencias de la víctima, autoreenviando toda su correspondencia a una dirección maliciosa.
Esta es una vista simplificada de los pasos que un ataque asíncrono podría tomar:
- La víctima abre una sesión guardada en las cookies de su navegador y se registra en
mailbox.thm. - El atacante incita a la víctima a abrir una página maliciosa con un script que pueda mandar queries a
mailbox.thm. - Para modificar las preferencias de reenvío de su email, el script malicioso en la página del atacante hace una llamada AJAX a
mailbox.thm/api/updateEmail(usando XMLHttpRequest o Fetch). - La cookie de sesión de
mailbox.thmse incluye con la petición AJAX en el navegador de la víctima. - Después de recibir la petición AJAX,
mailbox.thmevalúa y modifica la configuración de la víctima si no existe protección CSRF.
CSRF Basado en Flash
El término "Flash-Based CSRF" describe la técnica de realizar un ataque CSRF aprovechando las debilidades de los componentes Adobe Flash Player. Las aplicaciones de internet con funcionalidades como contenido interactivo, streaming de vídeo, y animaciones complejas, han sido posibles gracias a Flash. Sin embargo, a medida que ha pasado el tiempo, las debilidades de seguridad en Flash, particularmente aquellas usadas para lanzar CSRF, se han vuelto mayores. Al desarrollarse la tecnología HTML5, las debilidades se multiplicaron cesando su soporte (Adobe Flash Player) el 31 de Diciembre de 2020.
Incluso aunque Flash ya no es mantenido, es necesario hablar de él por el legado que ha dejado en el internet que hoy conocemos. Un archivo malicioso de flash (.swf) mandará una petición no autorizada a otras webs.
