Scopri cos’è il forced browsing, come funziona e quali misure adottare per proteggere il tuo sito da accessi non autorizzati.
Negli ultimi anni abbiamo assistito ad una crescente e repentina evoluzione di Internet e del World Wide Web, che li ha resi strumenti fondamentali per lo svolgimento numerose attività quotidiane. Questa crescita, però, ha comportato anche un aumento delle minacce informatiche che sfruttano la rete per accedere a informazioni sensibili presenti nei siti web.
Le tecniche più note comprendono il phishing, la diffusione di malware, gli attacchi DDoS e le SQL injection. Tuttavia, esiste un’altra tecnica meno conosciuta ma altrettanto pericolosa: forced browsing. Si tratta di un attacco che permette agli attori malevoli di accedere a risorse web non autorizzate sfruttando configurazioni errate o vulnerabilità nei meccanismi di controllo degli accessi.

In questo articolo analizzeremo nel dettaglio cos’è il forced browsing, come viene messo in atto, quali rischi comporta e quali sono le principali contromisure da adottare per proteggere i propri sistemi web.
Caratteristiche del forced browsing
Il forced browsing è una tecnica di attacco che permette agli attaccanti di accedere a risorse web non direttamente visibili o linkate all’interno di un’applicazione, perché non adeguatamente protette. L’obiettivo principale è individuare e consultare directory, file temporanei, backup obsoleti o file di configurazione, che dovrebbero rimanere inaccessibili all’utente comune.
Per eseguire un forced browsing, si utilizzano strumenti di scansione automatizzata e tecniche di brute force per risalire a nomi di file e percorsi comuni all’interno della struttura del sito. Se gli URL o i nomi delle directory seguono schemi prevedibili, l’attacco può essere eseguito anche manualmente, semplicemente manipolando gli indirizzi nella barra del browser.
Tra i contenuti sensibili maggiormente a rischio, spesso presenti in risorse con scarsa protezione, troviamo:
- Codice sorgente di pagine e applicazioni web;
- File contenenti credenziali di accesso;
- Indirizzi IP interni o informazioni sull’architettura della rete.
Tutti questi elementi possono essere sfruttati in fasi successive dell’attacco per compromettere l’intera infrastruttura, o eseguire movimenti laterali nel sistema.
Metodologie di forced browsing
Il forced browsing sfrutta quelle che vengono definite vulnerabilità di business logic. Si tratta di difetti nell’implementazione della struttura di un sito web, che si verificano a seguito di assunzioni errate degli sviluppatori in fase di progettazione. A seconda del tipo di vulnerabilità presente, gli attaccanti possono utilizzare diverse tecniche per accedere in modo non autorizzato a risorse sensibili.
Vediamo di seguito le più comuni.
Accesso a URL non protetti da autenticazione
Questa vulnerabilità è comune nei siti web creati da programmatori inesperti, che non considerano una corretta logica di controllo degli accessi. Ciò avviene perché questi assumono che solo gli utenti autorizzati conoscano gli URL sensibili, per cui l’autenticazione viene omessa. Problemi simili coinvolgono anche le API, perché si ritiene che nessuno, al di fuori degli amministratori di sistema, possa conoscere le chiamate API all’URL. Tutte queste assunzioni portano alla creazione di URL contenenti informazioni sensibili o funzionalità privilegiate senza indicizzarlo, come ad esempio:
www.cyberment.it/admin46513/resource_files
L’errore risiede nel credere che solo gli amministratori conoscano l’esistenza di questo percorso. Tuttavia, i cybercriminali possono:
- Indurre la condivisione dell’URL tramite tecniche di ingegneria sociale;
- Effettuare scansioni massive con tecniche di brute force. La più comune è inviare migliaia di richieste HTTP al secondo per individuare URL validi, in assenza di meccanismi anti-abuso come il rate limiting.
Utilizzo di tecnologie non sicure per l’autenticazione
Questo tipo di vulnerabilità è molto comune nei sistemi CMS (Content Management System), in particolare quelli aziendali. Infatti, è piuttosto frequente trovare sistemi di autenticazione deboli, basati su HTTP o su semplici parametri numerici. In questo caso, gli sviluppatori danno per scontato che tutti gli utenti del sistema appartengano alla stessa organizzazione, sottovalutando il rischio.
In questo caso, l’attaccante è molto spesso un utente del sito. Dopo aver eseguito il login, manipola manualmente l’URL per accedere ai dati di altri utenti, come nell’esempio sottostante:
www.cyberment.it/user_data?id=1123
Modificando l’ID numerico attraverso richieste GET, accede indisturbato a informazioni altrui. L’assenza di controlli a livello di sessione o di autorizzazione individuale rende possibile l’accesso anche alle informazioni sensibili degli amministratori.
Forced browsing causato da locazioni delle risorse prevedibili
Un’altra tipologia di forced browsing molto efficace sfrutta la prevedibilità delle directory, o del nome dei file. Anche se il sito è sprovvisto di directory listing esplicito, il cybercriminale può dedurre la posizione di risorse sensibili se lo sviluppatore ha adottato nomi comuni per le directory, come:
www.cyberment.it/files/backup www.cyberment.it/files/config.old
Questa tecnica è molto efficace e tristemente diffusa nei web server obsoleti, in cui il directory listing è abilitato di default. Anche le applicazioni web open source sono vulnerabili, perché vengono adottate convenzioni standard per la gestione dei file.
Conseguenze di un attacco forced browsing
Un forced browsing eseguito con successo può compromettere gravemente l’integrità e la sicurezza di un sito web. Le principali conseguenze riguardano l’esfiltrazione di informazioni sensibili, tra cui credenziali di accesso, dati finanziari o documenti riservati. Inoltre, i cybercriminali sono in grado di ottenere accesso non autorizzato a funzionalità che sono tipicamente riservate agli amministratori di sistema, come la gestione degli account o la modifica di alcuni parametri del sito stesso.
Per un’azienda, un simile attacco non si traduce solo in danni tecnici. Le ripercussioni riguardano la perdita di reputazione da parte dei suoi clienti e partner. In caso di violazioni di requisiti di conformità, l’organizzazione è anche soggetta a implicazioni legali da parte del GDPR e delle normative settoriali. A ciò si sommano le sanzioni e i contenziosi, dovuti all’adozione di misure di sicurezza inadeguate nella protezione delle proprie infrastrutture digitali.
Prevenzione e difesa
Alla luce di quanto visto, risulta evidente che il modo principale per prevenire gli attacchi forced browsing è quello di progettare i propri siti web implementando funzionalità di sicurezza che vanno ad eliminare alla radice le vulnerabilità di business logic. Per questo motivo, si raccomanda fortemente di:
- Utilizzare sistemi di autenticazione dal forte livello di sicurezza.
Metodi come l’autenticazione multifattore e i token di accesso aiutano a proteggere gli accessi alla propria pagina web. - Adottare il protocollo HTTPS.
A differenza dell’ormai obsoleto HTTP, l’HTTPS garantisce uno scambio di dati sicuro attraverso la crittografia, impedendo ad eventuali attori malevoli di intercettarli. - Implementare le liste di controllo degli accessi per il proprio sito web.
Questi strumenti consentono di stabilire chi può accedere a determinate risorse e funzionalità, impedendo ad un attore malevolo di utilizzarle a proprio vantaggio. - Applicare il principio del privilegio minimo (PLOP).
In questo modo, soltanto gli utenti autorizzati, come gli amministratori di sistema, possono eseguire determinate operazioni all’interno del sito web.
