Summaries
University notes in Markdown format from Obsidian.
Fuga di informazioni
download Download MDLa fuga di informazioni (o information disclosure) si verifica quando un sito web rivela involontariamente informazioni sensibili ai propri utenti.
Tipi di informazioni trapelate
- Dati sugli utenti: Nomi utente, indirizzi email, informazioni finanziarie.
- Dati commerciali: Segreti industriali o informazioni aziendali sensibili.
- Dettagli tecnici: Versioni dei software, nomi di database, percorsi di file, configurazioni di rete.
Cause comuni
- Impossibilità di rimuovere contenuti interni: Commenti degli sviluppatori lasciati nel codice HTML o file di backup accessibili.
- Configurazione non sicura: Funzionalità di debug attive in produzione o messaggi di errore troppo dettagliati.
- Design difettoso: Risposte diverse che permettono l'enumerazione di dati.
Fonti comuni di fuga di informazioni
Messaggi di errore dettagliati
Possono rivelare:
- Tecnologie utilizzate (motori di template, tipi di database).
- Versioni del software (permette di cercare exploit noti).
- Parametri sfruttabili per attacchi come SQLi.
Dati di debug
Molti siti generano registri o pagine di debug (es. phpinfo()) che contengono:
- Variabili di sessione.
- Credenziali per componenti back-end.
- Percorsi di file e directory sul server.
Commenti degli sviluppatori
Commenti HTML che potrebbero contenere directory nascoste o indizi sulla logica applicativa.
Elenchi di directory
Server configurati male che mostrano il contenuto delle cartelle se manca una pagina indice, esponendo file temporanei o sensibili.
File per web crawler
File come robots.txt o sitemap.xml che, pur servendo ai motori di ricerca, indicano esplicitamente agli aggressori quali directory sono considerate sensibili o nascoste.
File di backup e codice sorgente
- Backup temporanei: Editor di testo che creano file come
index.php~. Richiederli può permettere di leggere il codice sorgente invece di eseguirlo. - Git: Esposizione della directory
.git/che permette di ricostruire la cronologia del codice e trovare segreti o vulnerabilità vecchie.
Come prevenire la fuga di informazioni
- Consapevolezza: Istruire il team su cosa sia considerato sensibile.
- Automazione: Usare processi di build per rimuovere automaticamente i commenti e i file di debug.
- Errori generici: Restituire messaggi di errore uniformi e poco descrittivi all'utente finale, registrando i dettagli solo internamente.
- Disabilitare il debug: Assicurarsi che ogni funzione di diagnostica sia spenta in ambiente di produzione.
- Controllo configurazioni: Verificare le impostazioni di sicurezza di tutte le tecnologie di terze parti integrate.