Enumeración de directorios por errores. CVSS3.1 y reparación

Aug 20 2020

Consideremos este escenario. Si navego hasta https://www.example.com/existentdirectoryla aplicación web, aparece este error "Lista de directorio denegada".

Si navego hasta https://www.example.com/nonexistentdirectoryla aplicación web, aparece este error "No se encuentra el directorio de archivos".

Para mí, esto representaría una oportunidad para que el atacante enumere directorios y obtenga información sobre el objetivo.

Asignaría el siguiente vector CVSS3.1:

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Pero, ¿qué pasa con la parte de remediación? ¿Es realmente necesario? ¿Sería contraproducente aconsejar utilizar un error genérico para ambas respuestas?

Respuestas

1 Sibwara Aug 20 2020 at 10:54

Es difícil determinar una puntuación CVSS correcta ya que la estructura del árbol interno no es exactamente lo que podemos llamar "secreto".
Por tanto, hay que discutir el impacto de la confidencialidad.

Obtener información sobre el objetivo facilita los ataques posteriores, pero no es un ataque.
Esta diferencia a veces se materializa en el concepto de "incumplimiento", que es diferente al de "vulnerabilidad".

La solución para este ejemplo específico es a menudo capturar y registrar cada error (para que se le notifique cuando haya un error 500 y otros importantes) y mostrar un mensaje de error genérico con un código 200 OK en el navegador.
De esta forma, también puede deshacerse de muchos escáneres web