Directory Traversal

L’attacco Directory Traversal è un exploit HTTP che consente all’attaccante di accedere a directory ad accesso ristretto ed eseguire comandi all’esterno della web directory (dove si trovano le pagine web). E’ un attacco usato per accedere ai file sul server remoto. L’attacco a directory trasversale è conosciuto anche come attacco ../ (dot dot slash), directory climbing o backtracking.

Il Web Server fornisce 2 livelli principali di sicurezza:

Access Control Lists (ACLs).

Root Directory.

La prima è usata nel processo di autorizzazione. E’ una lista usata dall’amministratore del web server per indicare quali utenti o gruppi di utenti sono in grado di accedere, modificare o eseguire particolari files sul server.

La directory di root è una cartella particolare sul file system del server in cui gli utenti sono “confinati”. Gli utenti non sono in grado di accedere a risorse al di fuori di questa cartella. L’amministratore utilizza la lista per il controllo degli accessi (ACLs) per limitare ulteriormente i file a cui gli utenti possono accedere all’interno della root directory; determinando per ognuno di essi, o per un gruppo di essi, specifici permessi di lettura, scrittura o esecuzione.

 

Sfruttando una vulnerabilità Directory Traversal, un attaccante può accedere a file al di fuori della directory di root. Questo può essere altamente dannoso, dal quel momento lui può accedere a file contenenti password o informazioni private. Il server viene compromesso.

Esempio:

http://www.sitovulnerabile.com/insert/file.asp?page=../../../../WINNT/win.ini

In questo modo l’attaccante attraverso file.asp costringe il server a restituire il file win.ini e mostrarlo sul browser. La sequenza di caratteri “../” sta per “una directory sopra”, ed è una direttiva comune per tutti i sistemi operativi. La stringa “../../../../WINNT/win.ini” quindi sta per “vai 4 directory sopra, dopo sotto nella directory WINNT e prendi il file win.ini da li”.

L’attaccante ha bisogno di fare qualche supposizione circa il numero di directory da “scalare” per recarsi nella cartella con i file desiderati, ma questo è facilmente attuabile andando per tentativi. Il virus Nimbda che infetto più di 300.000 computer nel 2001 fu attivato per mezzo di un attacco a directory trasversale.

 

Come evitare questo tipo di attacco? Ci sono più vie possibili. Ad esempio settando opportunatamente le impostazioni del vostro web server o ponendo accortezza nella programmazione dei vostri script, limitando il numero di caratteri, filtrando particolari espressioni e così via.

Torna all'inizio