Diventa Autore per CoreTech | Scopri di più
18/11/21 CoreTech Blog
Il corretto controllo dell'accesso ai contenuti Web è fondamentale per l'esecuzione di un server Web sicuro. Directory traversal o Path Traversal è un attacco HTTP che consente agli aggressori di accedere a directory limitate ed eseguire comandi al di fuori della directory principale del server web.
I server Web forniscono due livelli principali di meccanismi di sicurezza:
Nel processo di autorizzazione viene utilizzato un elenco di controllo degli accessi. È un elenco che l'amministratore del server Web utilizza per indicare quali utenti o gruppi sono in grado di accedere, modificare o eseguire determinati file sul server, nonché altri diritti di accesso.
La directory principale è una directory specifica sul file system del server in cui sono confinati gli utenti. Gli utenti non sono in grado di accedere a nulla al di sopra di questa radice.
Ad esempio: la directory principale predefinita di IIS su Windows è C:\Inetpub\wwwroote con questa configurazione, un utente non ha accesso C:\Windowsma ha accesso a C:\Inetpub\wwwroot\newsqualsiasi altra directory e file nella directory principale (a condizione che l'utente sia autenticato tramite gli ACL).
La directory principale impedisce agli utenti di accedere a qualsiasi file sul server, ad esempio C:\WINDOWS/system32/win.ini su piattaforme Windows e al /etc/passwdfile su piattaforme Linux/UNIX.
Questa vulnerabilità può esistere nel software del server Web stesso o nel codice dell'applicazione Web.
Per eseguire un attacco di attraversamento di directory, tutto ciò di cui ha bisogno un utente malintenzionato è un browser Web e alcune conoscenze su dove trovare alla cieca eventuali file e directory predefiniti sul sistema.
Con un sistema vulnerabile all'attraversamento di directory, un utente malintenzionato può sfruttare questa vulnerabilità per uscire dalla directory principale e accedere ad altre parti del file system. Ciò potrebbe dare all'attaccante la possibilità di visualizzare file con restrizioni, il che potrebbe fornire all'attaccante maggiori informazioni necessarie per compromettere ulteriormente il sistema.
A seconda di come è impostato l'accesso al sito Web, l'attaccante eseguirà i comandi impersonando se stesso come l'utente associato al "sito web". Quindi tutto dipende da ciò a cui l'utente del sito Web ha avuto accesso nel sistema.
Il modo migliore per verificare se il tuo sito Web e le tue applicazioni Web sono vulnerabili agli attacchi di attraversamento di directory è utilizzare un Web Vulnerability Scanner. Un Web Vulnerability Scanner esegue la scansione dell'intero sito Web e verifica automaticamente le vulnerabilità di attraversamento delle directory. Riporterà la vulnerabilità e come risolverla facilmente. Oltre alle vulnerabilità di attraversamento delle directory, uno scanner di applicazioni Web verificherà anche l'iniezione di SQL, lo scripting tra siti e altre vulnerabilità del Web.
Prima di tutto, assicurati di aver installato l'ultima versione del software del tuo server web e assicurati che tutte le patch siano state applicate.
In secondo luogo, filtra efficacemente qualsiasi input dell'utente. Rimuovi idealmente tutto tranne i dati validi noti e filtra i metacaratteri dall'input dell'utente. Ciò garantirà che solo ciò che deve essere inserito nel campo verrà inviato al server.