Chiedi una cartella priva di file indice e molti server mostrano invece l'elenco dei file. Backup, esportazioni, una vecchia copia di un file di configurazione: tutto ciò che sta lì è ora pubblico, e le scansioni automatiche cercano esattamente questo.
Nginx
autoindex off; # the default, so check nobody turned it on
grep -rn autoindex /etc/nginx/
Apache e LiteSpeed
Options -Indexes
# or per directory, in .htaccess
Options -Indexes
Controlla ogni cartella, non solo la radice
for d in uploads backup files export logs tmp; do
printf '%-10s ' "$d"
curl -sS -o /dev/null -w '%{http_code}\
' "https://yourdomain.com/$d/"
done
Un 200 su una qualsiasi di queste merita di essere aperto in un browser adesso. Quello che vuoi vedere è 403 o 404.
Un file indice vuoto è un rimedio debole
Buttare un index.html in ogni cartella nasconde l'elenco, e i file restano raggiungibili per nome. Ferma uno sguardo distratto e nient'altro: spegni piuttosto l'opzione sul server.
La vera risposta per i file riservati
Tutto ciò che non deve essere pubblico non dovrebbe stare affatto sotto la radice dei documenti. Tienilo fuori e servilo attraverso uno script che verifica chi sta chiedendo.
/var/www/site/
public/ <- the document root
storage/ <- backups, exports, logs: no URL can reach these
Già che ci sei, cerca i file che la gente si lascia dietro: .env, .git, config.php.bak, database.sql. Una copia del codice dimenticata nella radice web ha fatto trapelare applicazioni intere: chiedi ciascuno di essi e accertati che non ci sia.