¿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 provocar 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 el interacción del usuario, todo lo que se necesita es que la víctima vea una página web con el exploit.
Sugerencia: CSRF generalmente se pronuncia letra por letra o como "espuma de mar".
¿Cómo funciona un ataque CSRF?
¿Qué es la fijación de sesiones?El ataque implica que el atacante crea un sitio web que tiene un método para realizar una solicitud en otro sitio web. Esto puede requerir la interacción del usuario, como hacer que presione un botón, pero también podría ser sin interacción. . En JavaScript, hay formas de hacer que una acción suceda 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" realice una solicitud a otro sitio web.
JavaScript es un lenguaje del lado del cliente, lo que significa que el código JavaScript se ejecuta en el navegador en lugar del servidor web. Gracias a este hecho, la ordenador 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 que tiene el usuario. Una vez que el sitio web atacante ha engañado a la víctima para que haga la solicitud CSRF, la solicitud es esencialmente indistinguible del usuario que la realiza normalmente.
CSRF es un ejemplo de un "ataque de vicio confuso" contra el navegador web cuando un atacante sin esos privilegios engaña al navegador para que use sus permisos. Estos permisos son los tokens de autenticación y de sesión para el sitio web de destino. Su navegador incluye automáticamente estos detalles en cada solicitud que realiza.
Los ataques CSRF son bastante 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 convencer a la víctima de que cargue una página web con el exploit mientras inicia sesión en el sitio web objetivo.
Cómo verificar si sus contraseñas se han perdido en una violación de datosPara evitar problemas de CSRF, lo mejor que puede hacer es incluir un token CSRF. Un token CSRF es una cadena generada aleatoriamente configurada como una cookie, el valor debe incluirse en cada respuesta junto con un encabezado de solicitud que incluye el valor. Aunque un ataque CSRF puede incluir la cookie, de ninguna manera es posible determinar el valor del token CSRF para configurar el encabezado y, por lo tanto, el ataque será rechazado.