Voglio sapere che tempo un sito con vulnerabilità XSS può portare l'hacker ad accedere al database? So che può ottenere il nome utente e la password dal cookie memorizzato, ma può accedere completamente al database?
XSS non compromette il server, compromette il client.
In sostanza, se il tuo sito è vulnerabile a un attacco XSS, stai servendo codice dodgy ai tuoi utenti. L'attacco ha il controllo sulle azioni dei tuoi utenti, quindi ha accesso a tutto ciò che fanno gli utenti.
Quindi, se i tuoi utenti normalmente non hanno accesso completo al tuo DB, un XSS non darà a un utente malintenzionato l'accesso.
Tuttavia, tieni presente che "utenti" include "amministratori", quindi l'autore dell'attacco ha la potenza di un amministratore se si accede mentre l'exploit è attivo.
No, con due avvertimenti:
Poiché il cloudfeet menziona l'XSS compromette il client e non il server, quindi una vulnerabilità XSS non ti darà accesso diretto al database.
Detto questo, in passato (mentre eseguivo una valutazione della vulnerabilità richiesta di un sito), ero in grado di utilizzare una vulnerabilità XSS per rubare la sessione di un utente amministrativo. Questo mi ha dato l'accesso a un'intera sezione amministrativa del sito che non era visibile all'utente medio. Questa sezione consentiva la modifica di ogni tabella nel database (escluse le tabelle di sistema) attraverso le pagine di amministrazione.
Ho scoperto che le sezioni amministrative dei siti a volte riducono le aree di sicurezza perché gli amministratori sono utenti fidati. Questo potrebbe significare che ci sono vulnerabilità di SQL Injection. Se questo è il caso, puoi accedere direttamente al database.
In sintesi - no, una vulnerabilità XSS non ti darà accesso diretto al database. Ma in situazioni molto specifiche può portare ad un accesso ampliato al database.
Se hai una vulnerabilità XSS, l'utente malintenzionato può fare tutto ciò che la tua interfaccia utente web può fare e accedere a qualsiasi cosa la tua interfaccia utente web possa accedere. Se l'interfaccia utente web e l'API di supporto sono strutturate in modo tale da garantire l'accesso diretto al database, allora sì, l'autore dell'attacco avrà tale accesso. Se la tua applicazione non offre alcuna opportunità attraverso l'interfaccia utente web e l'API di supporto per l'esecuzione di SQL, XSS non garantisce tale funzionalità.
Ricorda che qualsiasi cosa nell'interfaccia utente potrebbe essere sfruttata per ottenere questo accesso, inclusi, a titolo esemplificativo ma non esaustivo:
Leggi altre domande sui tag web-application appsec xss