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

CSRF o Cross-Site Request Forgery es una vulnerabilidad de un sitio web en la que un atacante puede desencadenar una acción en la sesión de una víctima en otro sitio web. Una de las cosas que hace que CSRF sea tan arriesgado es que ni siquiera requiere la interacción del usuario, todo lo que la víctima necesita es ver una página web con el exploit.

Consejo: CSRF se suele pronunciar letra por letra o como «surfear en el mar».

¿Cómo funciona un ataque CSRF?

El ataque implica que el atacante crea un sitio web que tiene un método para realizar una solicitud en otro sitio web. Puede requerir la interacción del usuario, por ejemplo, para que presione un botón, pero también puede ser no interacción. En JavaScript, hay formas de activar una acción automáticamente. Por ejemplo, una imagen de cero por cero píxeles no será visible para el usuario, pero se puede configurar para que su «src» haga una solicitud a otro sitio web.

JavaScript es un lenguaje del lado del cliente, significa que el código JavaScript se ejecuta en el navegador en lugar de en el servidor web. Como resultado, la computadora que hace la solicitud CSRF es de hecho la de la víctima. Desafortunadamente, esto significa que la solicitud se realiza con todos los permisos que tiene el usuario. Una vez que el sitio web atacante engañó a la víctima para que hiciera la solicitud CSRF, la solicitud es esencialmente indistinguible del usuario que realiza la solicitud normalmente.

CSRF es un ejemplo de un «ataque de asistente confuso» contra el navegador web, porque un atacante sin estos privilegios engaña al navegador para que use sus permisos. Estos permisos son sus tokens de autenticación y de sesión en el sitio web de destino. Su navegador incluye automáticamente estos detalles en cualquier solicitud que realice.

Los ataques CSRF son algo 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 debe crear una solicitud para realizar la acción deseada. Finalmente, el atacante debe obligar a la víctima a cargar una página web que contenga el exploit mientras está conectado al sitio web objetivo.

Para evitar problemas de CSRF, lo mejor que puede hacer es incluir un token CSRF. Un token CSRF es una cadena generada aleatoriamente que se establece como una cookie, el valor debe incluirse con cada respuesta junto con un encabezado de solicitud que incluye el valor. Aunque un ataque CSRF puede incluir la cookie, no hay forma de determinar el valor del token CSRF para configurar el encabezado, por lo que el ataque será rechazado.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *