In che modo il proprietario di un sito Web decrittografa ViewState di ASP.NET e i cookie

3

Vorrei verificare il mio stato di visualizzazione per informazioni che non desidero inviare al cliente. Quali sono i passaggi necessari per decrittografare queste informazioni in forma leggibile?

Come faccio a decifrare i cookie?

Ci sono strumenti (simili a Firesheep) che ti aiuteranno con il processo?

posta random65537 21.11.2010 - 17:40
fonte

3 risposte

3

Come menzionato @blowdart , l'impostazione predefinita è di non crittografare lo stato di visualizzazione (di nuovo, penso che sia stato cambiato in le ultime versioni).

Se vuoi solo fare un audit - imposta lo stato di visualizzazione su NOT encrypt (predefinito o spegnerlo manualmente), e non devi decodificarlo. Quando hai finito, puoi riattivare la crittografia dello stato di visualizzazione.

Anche se stai assicurando che non ci siano comunque informazioni sensibili, probabilmente non hai bisogno della crittografia, basta impostarla per firmare ...

Per quanto riguarda gli strumenti, prova uno di questi (se non è crittografato):

Ho anche trovato questa domanda su Stack Overflow.

    
risposta data 22.11.2010 - 08:21
fonte
1

Supponendo di aver attivato la crittografia, che non è l'impostazione predefinita, ASP.NET utilizzerà il sito Web tasto macchina come chiave utilizzata per crittografare e firmare ViewState e cookie. Poiché è possibile impostare le chiavi della macchina (per la convalida e la decrittografia) su un valore noto in web.config, è possibile utilizzarlo per decrittografare manualmente se necessario.

La configurazione consente anche di sostituire gli algoritmi utilizzati, quindi è necessario impostarli anche in web.config per ottenere un punto di partenza noto.

Di default è 3DES, in ECB con il padding PKCS7, e il viewstate stesso è una stringa 64 di base, quindi da lì prenderebbe la stringa base64, riconvertirai in un array di byte e poi passerai attraverso un decrypter 3DES per ottenere i dati tornano.

    
risposta data 21.11.2010 - 18:08
fonte
1

Sì, questo è possibile. Fai riferimento al link in cui ho fornito il codice sorgente completo.

    
risposta data 28.06.2013 - 20:45
fonte

Leggi altre domande sui tag