recuperare i dati del database con il server delle applicazioni?
Forse, sì. In molte configurazioni tipiche, in cui i server non hanno avuto un elevato livello di sicurezza, sarebbe possibile.
Fattori che potrebbero permettere questo:
Il server delle applicazioni richiederebbe naturalmente un percorso di rete verso il server del database, quindi qualsiasi firewall sarebbe configurato per consentire le connessioni.
È probabile che il server delle applicazioni, in una configurazione tipica, sia in possesso di credenziali per il database. Questi saranno spesso memorizzati all'interno del codice sorgente dell'applicazione o in un file di configurazione. (Ad esempio, il file web.config nelle applicazioni ASP.NET.)
Pertanto, l'utente malintenzionato può recuperare le credenziali e quindi utilizzare un client di database sul server delle applicazioni per interrogare il database.
Alcuni fattori che potrebbero evitare questo:
Autorizzazioni di file rigorose sul file contenente le credenziali del database. L'account utente che hai compromesso (che puoi eseguire comandi come) potrebbe non avere privilegi sufficienti.
Allo stesso modo, le credenziali del database potrebbero essere crittografate, con permessi di file severi sulla chiave di crittografia (o una chiave di crittografia protetta da un Hardware Security Module - HSM ).
I dati all'interno del database potrebbero essere crittografati, con protezione simile per la chiave come sopra.
Nessuna credenziale viene archiviata e l'autenticazione al database viene ottenuta tramite le credenziali dell'account del servizio dell'applicazione (ad esempio tramite Kerberos a MSSQL). Ciò richiederebbe un utente con i privilegi di database corretti per essere compromesso.
La maggior parte, se non tutti, dei suddetti meccanismi potrebbe essere sconfitta se l'utente malintenzionato ha il controllo amministrativo del server delle applicazioni.
Leggi altre domande sui tag webserver web-application appsec databases