Come parte della mia posizione presso la società con cui sono impiegato, eseguo manualmente il test di penetrazione della nostra applicazione web (ancora in sviluppo) per le vulnerabilità. Durante i test, ho provato a vedere se la nostra applicazione Web era vulnerabile a CSRF. Per farlo, ho eseguito l'applicazione nella scheda A e autenticato con l'app Web. Nella scheda B ho aperto la console JavaScript e ho eseguito:
window.location.replace("http://privilegedLocationInWebApp.com");
Il reindirizzamento ha avuto esito positivo, indirizzando la scheda B a una pagina autenticata all'interno dell'applicazione Web.
Più tardi nel corso della giornata a casa, ho deciso di giocare e vedere quali altri siti sono vulnerabili a questo in quanto mi ha colpito come qualcosa che è probabilmente trascurato e testarlo non causa alcun danno alla pagina web (cioè non sto provando SQL li inietta o fa danni). Il tentativo di reindirizzare tale scheda su una scheda non autenticata con una scheda separata già autenticata ha avuto esito positivo su più siti, alcuni dei quali sembrano essere un po 'troppo importanti per consentire tale vulnerabilità.
Questa è davvero una vulnerabilità della CSRF? O è semplicemente trascurato dai proprietari di siti Web e app web poiché queste richieste sono tutte richieste GET ma un tentativo di eseguire un POST potrebbe essere rifiutato in quanto ciò rappresenterebbe una vera vulnerabilità CSRF?