Diciamo che ho un sito web che è scritto in ASP e tengo il mio .mdb
database in una directory casuale come /asd8asd/dkdgk32/asdmv/askdasd/kasldk.mdb
Un attaccante può trovare la posizione del database senza indovinare / forzare brute?
Quindi, supponendo che il database sia inteso solo per essere accessibile dal codice ASP e non dai client dell'applicazione Web, un'alternativa migliore alla conservazione del database in una directory "casuale" sotto la radice web, sarebbe mantenere il database al di fuori del webroot del tutto. In questo modo non sarebbe possibile per un utente malintenzionato indirizzare direttamente il database tramite il sito Web (senza un altro problema di sicurezza che consenta di farlo).
Se intendi che i client del sito web scarichino direttamente o accedano al file MDB, nascondere il database potrebbe non essere un controllo molto affidabile. Un utente malintenzionato può essere in grado di trovare la posizione guardando il traffico di altri clienti o trovando un riferimento ad esso in altre parti del sito.
Un'alternativa più solida qui sarebbe quella di limitare l'accesso al database solo agli utenti autenticati. Anche se non hai una completa configurazione del sistema di appartenenza per il tuo sito, potresti usare qualcosa come l'autenticazione del digest HTTP per limitare l'accesso degli utenti. Di per sé non è una soluzione perfetta, ma è meglio che affidarsi esclusivamente a un utente malintenzionato che non trova un URL.
Ecco un elenco di azioni di mitigazione che è possibile eseguire per evitare di rivelare il percorso del database:
Internet Information Services & Server
ASP
GET http://www.vunerablesite.com/show.asp?view=../../../../../Windows/system.ini HTTP/1.1
www.vulnerablesite.org/index.asp?page=www.malicioussite.com/ssi_over.shtml
Accesso MS
Leggi altre domande sui tag databases