En una aplicación web PHP típica, agregas un token CSRF oculto en cada formulario y este token se valida cuando la solicitud se envía en el lado del servidor.
Estoy realizando una prueba de penetración en una aplicación .NET y quiero aprender más sobre los mecanismos de protección CSRF en este caso particular.
Cuando intercepto los paquetes, observo una cookie con el nombre __AntiXsrfToken
pero esta cookie tiene el mismo valor para cada sesión de un usuario (las pautas dictan que después de cerrar sesión, este valor tiene que cambiar). Además, no veo un parámetro ViewStateUserKey
en la solicitud. Obviamente, este esquema no funciona correctamente.
Necesito proponer una solución al desarrollador y él está usando ViewState
, así que supongo que podría habilitar a ViewStateUserKey
(lo he leído en otras publicaciones, pero no estoy seguro al respecto). ¿Es solo un nombre elegante para un campo de entrada oculto en cada formulario?
¿Alguien puede dar más detalles sobre esta solución?