Un ataque CSRF obliga al navegador de una víctima autenticada a enviar una petición HTTP falsificado, incluyendo la sesión del usuario y cualquier otra información de autenticación incluida automáticamente, a una aplicación web vulnerable. Esto permite al atacante forzar al navegador de la víctima para generar pedidos que la aplicación vulnerable piensa son peticiones legítimas provenientes de la víctima.
IDENTIFICACION DE VULNERABILIDAD
- Verificar cada funcionalidad de la aplicación.
- Verificar la ausencia de token impredecible en cada enlace y formulario solicitando al usuario que demuestre su intención de enviar la solicitud mediante pruebas como un capcha.
- Verificar los enlaces y formularios que invoquen funciones que permitan cambios de estados.
- Verificar operaciones de múltiples pasos, estos se pueden falsificar mediante uso de etiquetas o código Javascript.
- Se ofrece la herramienta CSRF Tester de OWASP que ayudan a demostrar los daños y peligros de fallos de este tipo.
- Falsificación de Peticiones en Dominios Cruzados o Cross-site Request Forgery (CSRF)
- Incluir un token no predecible en cada solicitud HTTP únicos por cada sesión del usuario.
- Incluir el token en un campo oculto para que el valor se envíe en el cuerpo de la solicitud HTTP.
- El token puede ser incluido en la propia URL o un parámetro de la misma (esta opción ofrece riesgo).
- Requerir la autenticación doble mediante CAPCHA.
- Utillizar pruebas mediante captcha