Gli attacchi directory traversal, noti anche come attacchi path traversal, rappresentano un rischio significativo nel campo della sicurezza web. Sfruttano principalmente la vulnerabilità della sicurezza nella funzione di un'applicazione web di accesso ai file presenti sul server. Questi attacchi consentono a un utente malintenzionato di accedere a file e directory archiviati all'esterno della cartella webroot manipolando variabili che fanno riferimento a file con sequenze "punto-punto-barra (../)".
L'evoluzione degli attacchi trasversali alle directory
L'origine degli attacchi directory traversal può essere fatta risalire agli albori di Internet, quando le applicazioni web iniziarono per la prima volta a utilizzare script per accedere ai file lato server. Con il progresso della tecnologia e la complessità delle applicazioni web, è aumentato anche il potenziale di questo tipo di vulnerabilità.
La prima menzione pubblica di attacchi directory traversal è alquanto difficile da individuare a causa della natura fondamentale di questa vulnerabilità. Tuttavia, la preoccupazione per la sicurezza è diventata più evidente durante la fine degli anni '90 e l'inizio degli anni 2000, quando le applicazioni web sono diventate comuni e sono aumentate le opportunità di sfruttare riferimenti a file non sicuri.
Espansione degli attacchi trasversali alle directory
Un attacco di directory trasversale è una forma di exploit HTTP in cui un hacker accede alla directory di un server che in genere non è disponibile al pubblico. L'aggressore sfrutta un'insufficiente convalida della sicurezza o sanificazione dei nomi dei file di input forniti dall'utente, consentendogli così di uscire dall'ambiente limitato.
L'uso più comune delle sequenze di attraversamento delle directory è negli attacchi basati su URL, ma possono anche apparire in iniezioni di intestazioni, manipolazioni di cookie o persino all'interno di parametri POST. In questo modo, gli aggressori possono visualizzare directory riservate ed eseguire comandi al di fuori della directory principale del server web, ottenendo così l'accesso non autorizzato a informazioni sensibili.
Come funzionano gli attacchi trasversali alle directory
Un attacco trasversale alle directory funziona sfruttando un'insufficiente convalida/sanificazione della sicurezza dei nomi di file di input forniti dall'utente, in modo che un utente malintenzionato possa manipolarli per uscire dalla posizione riservata.
In una forma eccessivamente semplificata, consideriamo uno scenario in cui un'applicazione sta tentando di accedere a un file immagine dal server:
arduinohttp://example.com/app?file=logo.jpg
In questo caso, l'applicazione aprirà il file logo.jpg
dalla sua directory delle immagini. Tuttavia, un utente malintenzionato potrebbe utilizzare le sequenze “punto-punto-barra (../)” per spostarsi fino alla directory principale e quindi accedere ai file non autorizzati. Ad esempio:
bashhttp://example.com/app?file=../../etc/passwd
Ciò potrebbe far sì che l'applicazione visualizzi file di sistema sensibili.
Caratteristiche principali degli attacchi Directory Traversal
-
Manipolazione delle variabili: La caratteristica fondamentale di un attacco trasversale alle directory prevede la manipolazione di variabili che fanno riferimento a file con sequenze "punto-punto-barra (../)".
-
Rottura dei vincoli: Consente all'aggressore di uscire dalla directory root dell'applicazione e accedere ad altre parti del file system.
-
Sfruttare la convalida debole: Gli attacchi di attraversamento delle directory sfruttano una validazione debole o la sanificazione degli input degli utenti.
Tipi di attacchi trasversali alle directory
Sebbene il principio fondamentale alla base degli attacchi directory traversal rimanga lo stesso, essi possono manifestarsi in modi diversi a seconda del contesto e dell'applicazione in questione:
-
Attacchi basati su URL: Questi comportano l'inserimento di input dannosi nell'URL per attraversare le directory.
-
Attacchi basati su moduli: Input dannosi vengono inseriti nei campi del modulo per sfruttare gli script vulnerabili lato server.
-
Attacchi basati sui cookie: Gli aggressori manipolano i cookie per attraversare directory e accedere a dati non autorizzati.
Tipo | Descrizione |
---|---|
Attacchi basati su URL | Iniettare input dannosi nell'URL per attraversare le directory. |
Attacchi basati su moduli | Inserisci input dannosi nei campi del modulo per sfruttare gli script lato server. |
Attacchi basati sui cookie | Manipolare i cookie per attraversare directory e accedere a dati non autorizzati. |
Problemi e soluzioni associati agli attacchi trasversali alle directory
Il problema principale con gli attacchi di attraversamento delle directory è l'accesso non autorizzato a file e dati sensibili. Ciò può portare alla fuga di dati, alla perdita di riservatezza e potenzialmente alla fornitura all'autore dell'attacco di ulteriori vettori di attacco (come l'ottenimento delle credenziali del database dai file di configurazione).
Ecco alcune soluzioni:
-
Convalida dell'input: Garantire una valida convalida degli input forniti dagli utenti. Non consentire ".." o "/" come parte degli input.
-
Controllo di accesso: Implementare un adeguato controllo degli accessi. Non fare affidamento esclusivamente sul percorso del file fornito per autorizzare l'utente.
-
Principio del privilegio minimo: Esegui l'applicazione con i privilegi minimi necessari, riducendo il potenziale danno derivante da un attacco trasversale alle directory.
Attacchi trasversali alle directory e termini simili
Termine | Descrizione |
---|---|
Attacco trasversale alle directory | Sfrutta una vulnerabilità nelle procedure di input dell'utente per accedere a file e directory non autorizzati. |
Inclusione file remoti (RFI) | Un utente malintenzionato utilizza i percorsi di input dell'utente per caricare uno script dannoso nel server di un sito Web. |
Inclusione file locali (LFI) | Un utente malintenzionato manipola un sito Web per eseguire o rivelare il contenuto dei file sul server Web. |
Prospettive future e tecnologie relative agli attacchi trasversali alle directory
Con l'evolversi del panorama dello sviluppo web, i metodi e gli strumenti per eseguire attacchi di attraversamento delle directory potrebbero diventare più sofisticati. Tuttavia, il fondamento della prevenzione risiederà probabilmente ancora in una solida validazione degli input e in una configurazione sensata del sistema.
I firewall per applicazioni web, i sistemi di rilevamento delle anomalie e gli algoritmi di apprendimento automatico per i sistemi di rilevamento delle intrusioni potrebbero svolgere un ruolo significativo nelle future strategie di mitigazione contro tali attacchi.
La connessione tra server proxy e attacchi trasversali alle directory
I server proxy possono fungere da ulteriore livello di sicurezza contro gli attacchi di attraversamento delle directory. Filtrando le richieste e le risposte tra il client e il server, possono aiutare a individuare schemi o segni insoliti di attacchi di directory attraversal, impedendo così loro di raggiungere il server.
OneProxy, ad esempio, fornisce una solida soluzione server proxy che può svolgere un ruolo chiave nella tua strategia di difesa contro questi tipi di attacchi.