Falsificación de solicitudes entre sitios


La falsificación de solicitudes entre sitios , también conocida como ataque con un solo clic o sesión de conducción y abreviada como CSRF (a veces se pronuncia sea-surf [1] ) o XSRF , es un tipo de explotación maliciosa de un sitio web en el que un usuario envía comandos no autorizados en el que confía la aplicación web. [2] Hay muchas formas en que un sitio web malicioso puede transmitir tales comandos; Las etiquetas de imagen especialmente diseñadas, los formularios ocultos y XMLHttpRequests de JavaScript , por ejemplo, pueden funcionar sin la interacción o incluso el conocimiento del usuario. A diferencia de las secuencias de comandos entre sitios (XSS), que explota la confianza que un usuario tiene en un sitio en particular, CSRF explota la confianza que un sitio tiene en el navegador de un usuario.

En un ataque CSRF, un atacante engaña a un usuario final inocente para que envíe una solicitud web que no fue su intención. Esto puede provocar que se realicen acciones en el sitio web que pueden incluir la filtración involuntaria de datos del cliente o del servidor, el cambio del estado de la sesión o la manipulación de la cuenta de un usuario final.

El término "CSRF" también se usa como abreviatura en las defensas contra ataques CSRF, como las técnicas que usan datos de encabezado, datos de formulario o cookies, para probar y prevenir tales ataques.

En un ataque CSRF, el objetivo del atacante es hacer que una víctima inocente envíe sin saberlo una solicitud web creada con fines malintencionados a un sitio web al que la víctima tiene acceso privilegiado. Esta solicitud web se puede diseñar para incluir parámetros de URL, cookies y otros datos que parecen normales para el servidor web que procesa la solicitud. Están en riesgo las aplicaciones web que realizan acciones basadas en la entrada de usuarios confiables y autenticados sin requerir que el usuario autorice la acción específica. Un usuario que se autentica mediante una cookie guardada en el navegador web del usuario podría enviar sin saberlo una solicitud HTTP a un sitio que confía en el usuario y, por lo tanto, provocar una acción no deseada.

Una propiedad general de los navegadores web es que incluirán de forma automática e invisible cualquier cookie utilizada por un dominio determinado en cualquier solicitud web enviada a ese dominio. Esta propiedad es explotada por ataques CSRF en el sentido de que cualquier solicitud web realizada por un navegador incluirá automáticamente las cookies (incluidas las cookies de sesión y otras) creadas cuando una víctima inicia sesión en un sitio web. En el caso de que un usuario sea engañado para que envíe inadvertidamente una solicitud a través de su navegador, estas cookies incluidas automáticamente harán que la solicitud falsificada parezca real para el servidor web y realizará las acciones solicitadas de manera adecuada, incluida la devolución de datos, la manipulación del estado de la sesión o la realización de cambios en la cuenta de la víctima.

Para que un ataque CSRF funcione, un atacante debe identificar una solicitud web reproducible que ejecuta una acción específica, como cambiar la contraseña de una cuenta en la página de destino. Una vez que se identifica dicha solicitud, se puede crear un enlace que genere esta solicitud maliciosa y ese enlace se puede incrustar en una página que esté bajo el control del atacante. [1] [3]Este enlace puede colocarse de tal manera que ni siquiera sea necesario que la víctima haga clic en el enlace. Por ejemplo, puede estar incrustado dentro de una etiqueta de imagen html en un correo electrónico enviado a la víctima que se cargará automáticamente cuando la víctima abra su correo electrónico. Una vez que la víctima haya hecho clic en el enlace, su navegador incluirá automáticamente las cookies utilizadas por ese sitio web y enviará la solicitud al servidor web. El servidor web no podrá identificar la falsificación porque la solicitud fue realizada por un usuario que inició sesión y envió todas las cookies necesarias.


Una página de base de datos nacional de vulnerabilidades que describe una vulnerabilidad CSRF