Enumerazione delle directory per errori. CVSS3.1 e riparazione
Consideriamo questo scenario. Se sfoglio https://www.example.com/existentdirectory
l'applicazione web mostra questo errore "l'elenco delle directory è negato".
Se sfoglio https://www.example.com/nonexistentdirectory
l'applicazione web mostra questo errore "directory file non trovata".
Per me questo rappresenterebbe una possibilità per l'attaccante di enumerare le directory e ottenere informazioni sul bersaglio.
Assegnerei il seguente vettore CVSS3.1:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Ma per quanto riguarda la parte di riparazione? È davvero necessario? Sarebbe controproducente consigliare di utilizzare un errore generico per entrambe le risposte?
Risposte
È difficile determinare un punteggio CVSS corretto poiché la struttura ad albero interna non è esattamente ciò che possiamo chiamare un "segreto".
Quindi l'impatto sulla riservatezza deve essere discusso.
Acquisire informazioni sul bersaglio rende più semplici gli attacchi successivi, ma non è un attacco.
Questa differenza è talvolta materializzata dal concetto di "non conformità" che è diverso da "vulnerabilità".
Il rimedio per questo esempio specifico è spesso quello di catturare e registrare ogni errore (in modo da ricevere una notifica quando c'è un errore 500 e altri importanti) e di visualizzare un messaggio di errore generico con un codice 200 OK al browser.
In questo modo, puoi anche sbarazzarti di molti scanner web