He visto varias declaraciones generales en la web en el sentido de que no necesita protección CSRF para las solicitudes GET.
Pero muchas aplicaciones web tienen solicitudes GET que devuelven datos confidenciales, ¿verdad? Entonces, ¿no querrías protegerlos contra los ataques CSRF?
¿Me estoy perdiendo algo, o estas declaraciones generales suponen que los datos que proporciona la solicitud GET no son importantes?
Los ejemplos de recomendaciones generales no son más que usar tokens CSRF con GET:
-
enlace
Por lo tanto, si un sitio web cumple con el estándar y solo implementa acciones "inseguras" como POST, aquí solo las solicitudes POST son vulnerables.
-
- Asegúrese de que las operaciones HTTP "seguras", como GET, HEAD y OPTIONS no puedan usarse para alterar ningún estado del lado del servidor.
El supuesto aquí es que si GET no modifica el estado, no vale la pena protegerlo.
-
enlace contiene una línea de código que sugiere este enfoque:
# 1) verify CSRF token for all non-GET requests