¿Cómo obtener información de la sesión del estado de vista .NET cifrado?

0

Estoy realizando una prueba de penetración por primera vez en una aplicación .NET que, en lugar de proporcionar cookies para la administración de sesiones, utiliza el campo oculto de ViewState.

Estoy utilizando el complemento .NET Beautifier en BURP para decodificar el valor del parámetro viewstate, pero dice que está cifrado y no se puede decodificar.

La versión de ASP.NET es 4.0.xx. ¿Esta versión siempre cifra el VIEWSTATE con una clave almacenada en el servidor?  ¿Qué tan seguro es?

    
pregunta XII 01.03.2018 - 12:30
fuente

1 respuesta

1

En primer lugar, VIEWSTATE es un valor para controlar el estado de una vista, ayuda a mantener los datos en el nivel de la vista y previene la falsificación de solicitudes entre sitios (CSRF); en otras palabras, este valor se usa para autenticar solicitudes: enviar datos backend y estar seguro es una solicitud legítima, por lo que tiene al menos las siguientes funciones:

  • es un valor pseudoaleatorio seguro.
  • es largo.
  • es único para cada vista.

Tal vez, podrías decodificar este valor, pero es solo un valor pseudoaleatorio. Ahora, respondiendo a su pregunta: sí, este valor es seguro, pero debe usarse para autenticar solicitudes (evitar CSRF), pero no debe usarse para autenticar usuarios, porque una de sus características es ser única para cada vista. entonces su tiempo de vida es más corto que el tiempo de vida de una sesión, así que no confunda el propósito de VIEWSTATE con la administración de una sesión.

Espero que esta información te ayude.

    
respondido por el hmrojas.p 02.03.2018 - 00:55
fuente

Lea otras preguntas en las etiquetas