¿Qué es CSFR?

Marvin G. Soto
3 min readFeb 15, 2019

--

Las técnicas utilizadas por los atacantes comienzan a ser cada vez más sofisticadas, muchas veces imperceptibles para los perfiles no tan técnicos. Una de ellas es la técnica llamada falsificación de petición en sitios cruzados. Proviene de su nombre en inglés “Cross Site Request Forgery (CSRF o XSRF)”.

Este ataque fuerza al navegador web de la víctima, validado en algún servicio a enviar una petición a una aplicación web vulnerable. Es un tipo de exploit malicioso donde un sitio web en el que comandos no autorizados transmitidos por un usuario, son enviados a través del sitio web en que la víctima confía. Esta vulnerabilidad es conocida también por otros nombres como XSRF, enlace hostil, ataque de un click, cabalgamiento de sesión, y ataque automático.

Las vulnerabilidades CSRF se conocen desde 1990. CSRF no se puede trazar porque es llevada a cabo por la dirección IP de un usuario legítimo. Esto puede llevar a confusión en investigaciones forenses, donde será necesaria la intervención de expertos en seguridad informática para determinar casos particulares de ataques CSRF.

Para que se pueda llevar a cabo un ataque mediante CSRF, en primera instancia, el atacante debe conseguir vulnerar e ingresar código HTML en un determinado servidor que podemos llamar “A”. Por otro lado, la víctima establece una conexión legítima con una aplicación web en otro servidor, que llamaremos “B”. La víctima accede a la aplicación web donde se encuentra el código introducido por el atacante. El navegador de la víctima realiza una petición contra la aplicación del servidor web “B” sin que el usuario se entere.

Los exploits de este tipo de ataque apenas se conocen públicamente; hay unos pocos ejemplos bien documentados.

Un ejemplo muy clásico se da cuando un sitio web, llamémoslo “example1.com”, posee un sistema de administración de usuarios. En dicho sistema, cuando un administrador se conecta y ejecuta el siguiente REQUEST GET, elimina al usuario de ID: “63”: http://example1.com/usuarios/eliminar/63. Una forma de ejecutar la vulnerabilidad CSRF, se daría si otro sitio web, llamemos “example2.com”, en su sitio web añade el siguiente código HTML: <img src=”http://example1.com/usuarios/eliminar/63">. Así pues, cuando el usuario administrador (conectado en example1.com) navegue por este sitio atacante, su navegador web intentará buscar una imagen en la URL y al realizarse el REQUEST GET hacia esa URL, eliminará al usuario 63.

Esta aplicación se encarga de realizar la acción elegida a través de la víctima, debido que la actividad maliciosa será procesada en nombre del usuario logueado. Al contrario de los ataques conocidos como Cross Site Scripting (Ordenes en sitios cruzados — XSS), los cuales explotan la confianza del usuario para con un sitio particular; en el caso del Cross Site Request Forgery explota la confianza que un sitio web tiene en un usuario particular.

Los riesgos que plantea la explotación de CSRF incluyen distintos tipos de actividades ilícitas e indeseadas. Desde el acceso a cuentas privadas de usuarios, pasando por acusar a alguien de acceder a sitios de contenido pedófilo e inclusive, hasta habilitar algún tipo de filtro o regla en el correo electrónico para que todos los correos se reenvíen a otra cuenta. Como vemos la explotación de esto puede conllevar a graves consecuencias.

Algunas buenas prácticas son:

  • Configurar el navegador para que no recuerde usuarios y contraseñas. El modo incógnito es una buena alternativa (Ctrl+Shift+P).
  • Recordar cerrar la sesión cuando ya no se vaya a hacer uso de la aplicación y/o servicio.
  • Se recomienda no utilizar la funcionalidad de aplicaciones web que permiten mantener la sesión abierta o recordar sesión.
  • Utilizar diferentes navegadores, uno para información sensible y otro para navegación en general.
  • Utilizar complementos que bloqueen la ejecución de scripts. Así los formularios que se envíen por el método POST, no podrán ser enviados automáticamente sin el consentimiento del usuario.

--

--

Marvin G. Soto
Marvin G. Soto

Written by Marvin G. Soto

Pensador, innovador, luchador, enamorado de su profesión, apasionado por las letras… de dificil renunciar y lejano a rendirse…

No responses yet