So che robots.txt
non è una funzionalità di sicurezza. Tuttavia, le informazioni indicizzate e memorizzate nella cache dei motori di ricerca potrebbero essere incredibilmente utili nella fase di ricognizione di un test di penetrazione e potenzialmente per gli scanner automatici di vulnerabilità.
Per non parlare del fatto che è meglio non esporre la stringa di query, nel codice sorgente né in un file robots.txt
o altrove, in alcuni casi per impedire ai motori di ricerca di memorizzare nella cache il contenuto e che è possibile indovinare (leggi: brute-force o check common) parametri
Ora, è una buona idea usare preventivamente qualcosa come il seguente file robots.txt
:
User-agent: *
Disallow: /*?*
Disallow: /*&*
Se il codice sorgente mostra un riferimento ai parametri nell'URL, non consente a tutti i motori di ricerca specificamente di indicizzarli. Quindi, trovare i parametri nella fase di ricognizione è ancora possibile (ma leggermente più difficile), ma almeno quando ciò è corretto, i file non verranno memorizzati nella cache.
Dopo che il contenuto è stato memorizzato nella cache, indicizzato e sono state prese misure per nascondere i parametri della query (come gli URL di riscrittura, i parametri utilizzati in precedenza dovrebbero essere rinominati per impedire che vengano facilmente trovati o utilizzati in modo errato.
Il mio punto è che tutto può essere violato, è solo una questione di risorse (tempo, tecnicamente, sforzo e abilità). Rendere le cose troppo facili consentirà a un utente malintenzionato di utilizzare meno risorse. Quando i parametri negli URL non sono indicizzati, è necessario più tempo per trovarli poiché il codice sorgente deve essere ispezionato o il sito deve essere sottoposto a scansione. Quindi, c'è una specie di robots.txt
come sopra, un do o un do not e perché?
Ultimo ma non meno importante, dovremmo raccomandare agli sviluppatori (o è una buona pratica) di farlo?