JavaScript
Vulnerabilidades
CSRF
Esta vulnerabilidad explota las posibles cookies de sesión que tiene abiertas la víctima. El atacante crea cuidadosamente un enlace o formulario para que apunte a una URL que realiza una operación en la web vulnerable. Esa operación será automáticamente autorizada gracias a la presencia de la cookie de sesión de dicha web.
Un ejemplo básico sería incluir esto en un correo electrónico o en una web maliciosa:
<a href='https://banco.com/retirar?cantidad=1000&destino=cuenta-del-atacante'>
Pulsa aquí para ver tu regalo
</a>
Diagrama CSRF
Para prevenir el CSRF:
- Añadir un paso de confirmación del usuario para evitar la autorización automática.
- Utilizar cookies con
SameSite
igual aStrict
para que no se envíen cuando se hacen peticiones desde un dominio diferente al que pertenecen. - Programáticamente incluir un token y/o cabecera HTTP especial en las peticiones legítimas, que el servidor validará para autorizar la operación. Al contrario que las cookies, éstos tokens/cabeceras no se envían automáticamente, y el atacante no dispone de sus valores para incluirlos en su petición.