L'unica buona difesa è una difesa in profondità. Al momento, il loro schema di autenticazione può sembrare sicuro. Ma un giorno verrà rilevata una vulnerabilità, da parte di un utente malintenzionato o da parte di te o da un membro interno scontento che è già stato autenticato.
Se stavano eseguendo un'adeguata difesa in profondità, quando quell'agente nemico otteneva l'accesso al sistema, il danno che potevano fare sarebbe stato limitato da ulteriori meccanismi di sicurezza. Tuttavia, con la loro attitudine secondo cui una vulnerabilità conta solo se può essere eseguita da una minaccia esterna, stanno eliminando completamente ogni possibilità di creare linee di difesa aggiuntive.
Quindi, ad esempio, un utente malintenzionato in grado di ottenere solo un accesso utente limitato potrebbe ottenere le credenziali di amministratore. Il loro schema di autorizzazione è vulnerabile. Oppure un dipendente sottopagato potrebbe decidere di eseguire un minatore di criptovaluta basato su JS sui clienti di tutti i tuoi utenti per guadagnare un po 'di denaro extra sul lato. Oppure un utente esterno alla finanza / gestione potrebbe accedere alle informazioni interne per un po 'di insider trading.
Dire che XSS non ha importanza perché devi essere loggato è funzionalmente equivalente a dire che tutti gli utenti che hanno effettuato l'accesso dovrebbero avere il permesso di vedere e fare tutto ciò che fanno tutti gli altri utenti registrati. Nessun utente vs amministratore, nessuna privacy dipartimentale, nessun utente non ripudio. Tutti gli utenti, funzionalmente indistinguibili. Se ciò non è vero per il loro caso d'uso, allora XSS è una vulnerabilità sfruttabile di cui dovrebbero preoccuparsi.
Modifica: se sono convinti che nulla di quanto sopra potrebbe accadere, ti consiglio di passare agli attacchi di social engineering sullo schema di autenticazione. Gli schemi di autenticazione più sicuri richiedono ancora l'interazione umana e quindi sono deprimenti vulnerabili.