Diventa Autore per CoreTech | Scopri di più
14/07/20 CoreTech Blog
L'elenco delle directory è una funzione del server Web che visualizza il contenuto della directory quando non esiste un file indice in una directory del sito Web specifica. È pericoloso lasciare attiva questa funzione per il server Web perché porta alla divulgazione di informazioni.
Ad esempio, quando un utente richiede www.acunetix.com senza specificare un file (come index.html , index.php o default.asp ), il server Web elabora questa richiesta, restituisce il file indice per quella directory e il il browser visualizza il sito Web. Tuttavia, se il file indice non esistesse e se l'elenco delle directory fosse attivato, il server Web restituirà invece i contenuti della directory.
Molti webmaster seguono la sicurezza attraverso l'oscurità. Presumono che se non ci sono collegamenti ai file in una directory, nessuno può accedervi. Questo non è vero. Molti scanner di vulnerabilità del Web come Acunetix rilevano facilmente tali directory e tutti i file se l'elenco delle directory è attivato. Ciò significa che anche gli hacker black hat possono trovare facilmente tali file. Questo è il motivo per cui l'elenco delle directory non dovrebbe mai essere attivato, specialmente nel caso di siti Web dinamici e applicazioni Web, compresi i siti WordPress.
Anche se l'elenco delle directory è disabilitato su un server Web, gli utenti malintenzionati potrebbero scoprire e sfruttare le vulnerabilità del server Web che consentono loro di eseguire la navigazione nella directory. Ad esempio, c'era una vecchia vulnerabilità di Apache Tomcat, in cui una gestione impropria di byte null ( %00) e backslash ( \) rendeva incline agli attacchi con elenchi di directory.
Gli aggressori potrebbero anche scoprire gli indici di directory utilizzando i dati memorizzati nella cache o storici contenuti nei database online. Ad esempio, il database della cache di Google potrebbe contenere dati storici per una destinazione, che in precedenza aveva abilitato l'elenco delle directory. Tali dati consentono all'attaccante di ottenere le informazioni necessarie senza dover sfruttare le vulnerabilità.
Un utente invia una richiesta al sito Web www.vulnweb.com/admin/. La risposta dal server include il contenuto della directory dell'amministratore della directory, come mostrato nella schermata seguente.
Dall'elenco di directory sopra riportato, è possibile notare che nella directory di amministrazione è presente una sottodirectory denominata backup, che potrebbe includere informazioni sufficienti per consentire a un utente malintenzionato di elaborare un attacco.
L'aggressore può visualizzare l'intero elenco di file nella directory di backup. Questa directory include file sensibili come file di password, file di database, registri FTP e script PHP. È ovvio che queste informazioni non erano destinate al pubblico.
La configurazione errata del server Web ha portato alla divulgazione dell'elenco dei file e i dati sono disponibili al pubblico. Inoltre, file come questi, come i log FTP, potrebbero contenere altre informazioni sensibili come nomi utente, indirizzi IP e la struttura di directory completa del sistema operativo di web hosting.
Per disabilitare l'elenco delle directory, è necessario modificare la configurazione del server Web. Ecco come puoi farlo per i server web più popolari:
È possibile disabilitare l'elenco delle directory impostando la direttiva Opzioni nel file httpd.conf di Apache aggiungendo la seguente riga:
<Directory /your/website/directory>Options -Indexes</Directory>
Puoi anche aggiungere questa direttiva nel tuo. htaccess i file ma assicurati di disattivare l'elenco delle directory per l'intero sito, non solo per le directory selezionate.
L'indicizzazione delle directory è disabilitata per impostazione predefinita in nginx, quindi non è necessario configurare nulla.
Tuttavia, se è stato attivato in precedenza, è possibile disattivarlo aprendo il file di configurazione nginx.conf e cambiando autoindex on
in autoindex off
.