È possibile che gli script di Crosssite conducano all'accesso al database?

2

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?

    
posta v0ld3m0rt 21.10.2013 - 12:59
fonte

4 risposte

5

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.

    
risposta data 21.10.2013 - 13:45
fonte
4

No, con due avvertimenti:

  1. Non c'è alcun dettaglio nella tua domanda, quindi è molto difficile essere definitivi.
  2. Un utente malintenzionato può utilizzare XSS come parte di un attacco più ampio. Se riesce a far sì che l'amministratore esegua qualcosa sulla sua macchina tramite XSS, chissà dove potrebbe portare ...
risposta data 21.10.2013 - 13:38
fonte
3

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.

    
risposta data 21.10.2013 - 18:03
fonte
1

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:

  • una funzionalità implementata intenzionalmente che consente all'utente di scrivere query sql
  • una funzionalità che consente all'utente di modificare la password amministrativa e abilitare l'accesso remoto (che garantisce l'accesso al sistema a livello dell'applicazione, rendendo solo una questione di tempo prima che l'utente malintenzionato scopra come il sistema si connette al database)
  • una vulnerabilità di SQL injection accessibile tramite l'interfaccia utente
  • una funzionalità API accessibile per l'interfaccia utente web, ma non utilizzata dall'interfaccia utente web
risposta data 21.10.2013 - 13:37
fonte

Leggi altre domande sui tag