In una tipica applicazione web PHP, aggiungi un token CSRF nascosto in ogni modulo e questo token viene convalidato quando la richiesta viene inoltrata sul lato server.
Sto eseguendo un test di penetrazione in un'applicazione .NET e voglio saperne di più sui meccanismi di protezione CSRF in questo caso particolare.
Quando intercetto i pacchetti, noto un cookie con nome __AntiXsrfToken
ma questo cookie ha lo stesso valore per ogni sessione di un utente (le linee guida indicano che dopo il logout questo valore deve cambiare). Inoltre non vedo un parametro ViewStateUserKey
nella richiesta. Ovviamente questo schema non funziona correttamente.
Devo proporre una soluzione allo sviluppatore e sta usando ViewState
quindi suppongo che potrebbe abilitare ViewStateUserKey
(ne ho letto su altri post ma non ne sono sicuro). È solo un nome di fantasia per un campo di input nascosto in ogni modulo?
Qualcuno può elaborare una soluzione del genere?