¿Qué es la falsificación de solicitudes entre sitios?

CSRF, o Cross-Site Request Forgery, es una vulnerabilidad de un sitio web que podría permitir a un atacante tomar medidas en la sesión de una víctima en otro sitio web. Una de las cosas que hacen que CSRF sea un riesgo tan grande es que ni siquiera requiere la interacción del usuario. Todo lo que la víctima necesita es ver una página web que contenga el exploit.

Consejo: CSRF generalmente se pronuncia letra por letra o como «surf en el océano».

¿Cómo funciona un ataque CSRF?

En el ataque, el atacante crea un sitio web desde el cual se puede realizar una solicitud en otro sitio web. Esto puede requerir la interacción del usuario, p. Ej. B. presionando un botón, pero también puede ser interactivo. Hay formas en JavaScript para realizar una acción automáticamente. Por ejemplo, una imagen de píxeles cero por cero no es visible para el usuario, pero se puede configurar para que su «src» envíe una solicitud a otro sitio web.

JavaScript es un lenguaje del lado del cliente. Esto significa que el código JavaScript se ejecuta en el navegador y no en el servidor web. Gracias a esto, la computadora que realiza la solicitud CSRF es en realidad la de la víctima. Desafortunadamente, esto significa que la solicitud se realiza con todos los permisos del usuario. Una vez que el sitio web atacante ha persuadido a la víctima para que realice la solicitud CSRF, la solicitud es esencialmente indistinguible del usuario que realiza la solicitud normalmente.

CSRF es un ejemplo de un «ataque de proxy confuso» en el navegador web, ya que un atacante que no tiene estos permisos engañó al navegador para que usara sus permisos. Estos permisos son su sesión y tokens de autenticación para el sitio web de destino. Su navegador incluye automáticamente estos detalles en cada solicitud.

Los ataques CSRF son un poco complejos de organizar. En primer lugar, el sitio web de destino debe tener un formulario o URL que tenga efectos secundarios como eliminar su cuenta. El atacante tendría que crear una solicitud para realizar la acción deseada. En última instancia, el atacante tendría que engañar a la víctima para que cargara una página web con el exploit que contenía mientras estaba conectado al sitio web objetivo.

La mejor manera de evitar problemas de CSRF es agregar un token CSRF. Un token CSRF es una cadena generada aleatoriamente que se configura como una cookie. El valor debe incluirse en cada respuesta junto con un encabezado de solicitud que contenga el valor. Si bien un ataque CSRF puede contener la cookie, el valor del token CSRF utilizado para configurar el encabezado no se puede determinar, por lo que el ataque se rechaza.

Deja un comentario