Non vuoi che un visitatore indesiderato attraversi il filesystem del tuo server, ma gli aggressori hanno trovato un modo per farcela. Cosa sai fare?

Quando gli utenti visitano il tuo sito web, confidano che i loro dati siano al sicuro e che loro e altri utenti non possano accedere a file o cartelle che non sono autorizzati a vedere. Tuttavia, se il tuo sito Web è vulnerabile all'attraversamento delle directory, gli aggressori possono sfruttare questa debolezza per spostarsi da una directory all'altra e visualizzare file sensibili che dovrebbero essere limitati.

Questi attacchi sfruttano una vulnerabilità nel file system del tuo sito Web e possono esporre informazioni critiche, portando a seri rischi per la sicurezza. In questo articolo, esploreremo cosa sono gli attacchi di directory traversal, perché sono così pericolosi e come puoi proteggere il tuo sito web da essi.

Cos'è l'attraversamento delle directory?

L'attraversamento della directory è anche noto come attraversamento del percorso o arrampicata su directory. È una vulnerabilità nei siti Web in cui l'attaccante è in grado di accedere o leggere file al di fuori della directory principale del server Web che esegue l'applicazione manipolando l'input dell'applicazione Web.

instagram viewer

Quando viene eseguito un attacco di directory traversal, gli aggressori sono in grado di leggere e talvolta persino apportare modifiche a file e directory con restrizioni sul server di applicazioni Web. Potrebbero essere in grado di accedere a file riservati sul server come file di configurazione del database, file di codice sorgente, file di password e file di registro.

Directory Traversal e la triade della CIA

Un attraversamento di directory compromette tutti e tre gli aspetti di quella che è conosciuta come la triade della CIA. La triade della CIA, che è un modello ampiamente riconosciuto per la sicurezza delle informazioni, sta per Riservatezza, Integrità e Disponibilità.

Riservatezza

Gli attacchi di directory traversal violano la riservatezza perché i file riservati e sensibili contenenti informazioni sul sistema e su altri utenti diventano accessibili all'attaccante. Tutte le informazioni che non appartengono a un utente dovrebbero essere mantenute segrete e non dovrebbero essere accessibili a persone non autorizzate. Ad esempio, un utente malintenzionato che ottiene l'accesso al database degli utenti e alle loro informazioni personali identificabili (PII), viola la riservatezza del sistema e dei dati dell'utente.

Integrità

È importante notare che l'attraversamento di una directory potrebbe non interrompersi solo con gli aggressori informatici che sono in grado di leggere e accedere ai file sul tuo server web. Se le autorizzazioni del file system sul tuo server non sono configurate correttamente, l'hacker potrebbe essere in grado di modificare o eliminare file o directory importanti sul server, compromettendo l'integrità dei dati su di esso server. Ad esempio, l'attaccante potrebbe essere in grado di modificare un file di configurazione per concedersi l'accesso amministrativo al server o eliminare i file di sistema.

Disponibilità

Esistono molti modi in cui un utente malintenzionato può utilizzare l'attacco di directory traversal per compromettere la disponibilità del tuo server. Un esempio è l'eliminazione di file critici sul server che interrompe il funzionamento del server o fa sì che l'applicazione Web non risponda. Un altro esempio è l'aggressore che aumenta i privilegi e sovraccarica il server con richieste che ne provocano l'arresto anomalo.

Come funziona un attacco Directory Traversal?

Un attacco di directory traversal può verificarsi in vari modi. Quando gli aggressori sospettano che un sito web sia vulnerabile agli attacchi di directory traversal, iniziano a creare richieste dannose da inviare a quell'applicazione web.

Alcuni siti Web visualizzano i file tramite il parametro URL. Prendi, ad esempio, questo URL del sito web: https://www.website.com/download_file.php? nomefile=file.pdf. Ciò significa che l'applicazione Web chiama il file "file.pdf" dal server utilizzando un percorso URL relativo. In questo caso, l'applicazione sta leggendo dal percorso: www/var/documents/file.pdf.

Un semplice esempio di attacco di attraversamento di directory è l'attacco di attraversamento di directory dotdotslash. Nei sistemi UNIX e Windows, il ../ i simboli sono usati per tornare indietro di una directory. L'attaccante può sostituire il nome del documento con ../../../../../etc/passwd. L'URL sarà quindi simile a questo: https://www.website.com/download_file.php? nomefile=../../../../../etc/passwd

Credito immagine: fotografo professionista Marco Verch /Flickr

Un utente malintenzionato potrebbe utilizzare questo payload nell'applicazione Web per attraversare più directory all'indietro per tentare di recuperare il file "/etc/passwd" dal file system del server.

Nei sistemi basati su Unix, il file "/etc/passwd" è un file di testo semplice che contiene informazioni su account utente locali sul sistema, come nomi utente, ID utente, home directory e shell preferenze. L'accesso a questo file può essere utile per gli aggressori perché può fornire informazioni su potenziali account utente e vulnerabilità nel sistema.

Altre forme di attacchi directory traversal includono codifica URL, doppia codifica e attacchi null byte.

Perché gli attacchi Directory Traversal sono così pericolosi?

Gli attacchi di directory traversal sono considerati molto pericolosi perché non sono quasi mai attacchi autonomi. Una vulnerabilità di directory traversal, se sfruttata, potrebbe portare a molteplici altre vulnerabilità. Alcune di queste vulnerabilità includono:

Rivelazione di un 'informazione

La divulgazione di informazioni si verifica quando un utente malintenzionato ottiene l'accesso a informazioni riservate che non è autorizzato a visualizzare. Gli attacchi di directory traversal possono portare a vulnerabilità di divulgazione di informazioni perché consentono agli aggressori di accedere a file e directory al di fuori dell'ambito previsto di un'applicazione Web. Utilizzando i payload di directory traversal e le richieste dannose, gli aggressori possono scalare la gerarchia delle directory per accedere potenzialmente a file e directory sensibili su un server. Questa vulnerabilità può essere sfruttata per estrarre informazioni sensibili come password o dati utente.

Inclusione di file locali

L'attraversamento della directory può anche portare ad attacchi di inclusione di file locali (LFI).. LFI è una vulnerabilità nelle applicazioni Web che consente a un utente malintenzionato di includere ed eseguire file archiviati sullo stesso server dell'applicazione Web In un LFI attacco, un utente malintenzionato può utilizzare i parametri di input di un'applicazione Web per specificare un percorso di file locale, che viene quindi incluso dall'applicazione Web senza un'adeguata convalida. Ciò consente a un utente malintenzionato di eseguire codice arbitrario, visualizzare informazioni riservate o manipolare il comportamento dell'applicazione.

Come si può prevenire un attacco di directory traversal?

Per cominciare, convalida l'input dell'utente prima di elaborarlo per assicurarti che contenga solo i caratteri previsti e non contenga caratteri speciali o separatori di percorso. Un'altra raccomandazione è quella di utilizzare filtri e valori consentiti inseriti nella whitelist per confrontare l'input dell'utente e bloccare i valori sospetti. Ma tutti questi metodi potrebbero essere aggirati da un hacker esperto.

L'approccio migliore per prevenire gli attacchi di directory traversal consiste nell'evitare di consentire agli utenti di fornire input al file system.

Adotta un approccio proattivo alla tua sicurezza

Ci sono molte vulnerabilità nell'ecosistema informatico. Per proteggere le tue risorse dalle vulnerabilità, dovresti eseguire regolari valutazioni della sicurezza e test di penetrazione per identificare potenziali punti deboli e affrontarli prima che possano essere sfruttati da aggressori.

Inoltre, tieniti aggiornato con le patch e gli aggiornamenti di sicurezza più recenti per il tuo software e i tuoi sistemi, poiché molte vulnerabilità possono essere corrette con questi aggiornamenti. Adottando un approccio proattivo alla sicurezza informatica, puoi contribuire a garantire che le risorse della tua organizzazione siano protette dalle vulnerabilità e rimangano al sicuro dalle minacce informatiche.