Come ottenere informazioni sulla sessione dal viewstate .NET crittografato?

0

Sto eseguendo un test di penetrazione per la prima volta in un'applicazione .NET che invece di fornire cookie per la gestione delle sessioni utilizza il campo nascosto viewstate.

Sto utilizzando il plugin .NET Beautifier in BURP per decodificare il valore del parametro viewstate ma dice che è crittografato e non può essere decodificato.

La versione di ASP.NET è 4.0.xx. Questa versione cripta sempre il VIEWSTATE con una chiave memorizzata nel server?  Quanto è sicuro?

    
posta XII 01.03.2018 - 12:30
fonte

1 risposta

1

In primo luogo, VIEWSTATE è un valore per controllare lo stato di una vista, aiuta a mantenere i dati a livello di vista e impedisce la falsificazione di richieste tra siti (CSRF), in altre parole, questo valore viene utilizzato per autenticare le richieste - invio di dati per eseguire il backend ed essere sicuri che sia una richiesta legittima, quindi ha almeno le seguenti funzionalità:

  • è un valore pseudo-casuale sicuro
  • è lungo.
  • è univoco per ogni vista.

Forse potresti decodificare questo valore, ma è solo un valore pseudo-casuale. Ora, rispondendo alla tua domanda: sì, questo valore è sicuro, ma dovrebbe essere usato per autenticare le richieste (prevenire CSRF), ma non dovrebbe essere usato per autenticare gli utenti, perché una delle sue caratteristiche deve essere unica per ogni vista, quindi la sua durata è inferiore alla durata della sessione, quindi non confondere lo scopo di VIEWSTATE con una gestione della sessione.

Spero che questa informazione ti aiuti.

    
risposta data 02.03.2018 - 00:55
fonte

Leggi altre domande sui tag