È difficile eseguire un attacco CSRF di successo su un'applicazione utilizzando viewstate ma non impossibile. Un modo per eseguire un attacco CSRF succcessivo su un'applicazione con _viewstate è
- L'attaccante è in grado di accedere all'applicazione (utilizzando credenziali proprie o acquisite)
- Visita la pagina (con gli stati delle variabili più comuni o più utili) rispetto ai quali desidera creare un attacco CSRF per
- Copia il _Viewstate
- Inserisci questo _viewstate nella sua pagina di attacco
- Invia la pagina di attacco alla vittima
- Con un po 'di fortuna e indovinando l'attacco potrebbe funzionare
Una soluzione a questo è stata introdotta in 1.1. Invece di usare solo _viewstate puoi usare ViewStateUser-Key. Questo utilizza la chiave di sessione use per creare il token di stato che sarà davvero difficile da indovinare o copiare dall'attaccante.
Suggerirei comunque di implementare un meccanismo di token Indipendent CSRF per la protezione contro CSRF nella tua applicazione (so che molti saranno diversi su questo)