← Todos los checks
SeguridadSeveridad típica: Medio

Detector de listado de directorios

Comprueba si carpetas como /uploads o /backup muestran el listado de todos sus archivos.

Qué comprueba

Este escaner comprueba si carpetas como /uploads o /backup muestran una lista navegable de todos los archivos que contienen. Ocurre cuando el servidor genera un indice automatico al no encontrar una pagina por defecto. El escaner solo mira si ese listado es visible.

Por qué importa

Un listado abierto deja que cualquiera navegue por tus archivos y descubra documentos, copias o recursos que no pensabas mostrar. Convierte carpetas privadas en un directorio publico facil de explorar. A menudo revela archivos que ni recordabas que estaban ahi.

Cómo se arregla

Desactiva el listado de directorios en la configuracion de tu servidor, una opcion que suele llamarse autoindex o directory browsing. Coloca un archivo indice por defecto en las carpetas que deban ser accesibles. Y evita guardar archivos privados en rutas servidas publicamente.

Cómo funciona esta comprobación

Scanaris pide siete carpetas habituales de tu dominio: /uploads/, /images/, /assets/, /files/, /backup/, /static/ y /media/. Si alguna responde con una página cuyo título o encabezado es "Index of …", el formato que generan Apache, nginx y la mayoría de servidores cuando listan un directorio, abre un hallazgo de severidad media con la ruta. No se marca un 200 cualquiera: una aplicación de una sola página que devuelve su HTML para todas las rutas no cumple el patrón.

Por qué importa

Un listado convierte una carpeta en un catálogo navegable de todo lo que contiene, incluido lo que nunca enlazaste desde ninguna página: copias de seguridad, exportaciones, documentos subidos por usuarios, versiones antiguas de archivos, imágenes de productos aún no publicados. No hace falta adivinar nombres; el servidor los entrega ordenados y con fecha. Y es el primer sitio donde mira un escáner automático, porque encontrar un listado abierto suele llevar a algo peor en la misma carpeta.

Por qué ocurre

El servidor web, al recibir una petición a una carpeta sin un index.html dentro, tiene dos opciones: responder 403 o generar una lista. Apache y algunos paneles de hosting compartido vienen con la lista activada; nginx la tiene apagada salvo que alguien la encendiera con autoindex on. En aplicaciones Express, un serve-index olvidado o un express.static con opciones de listado hacen lo mismo.

Cómo arreglarlo

  • nginx: busca autoindex on en la configuración y cámbialo a off (o elimínalo; apagado es el valor por defecto).
  • Apache: en el VirtualHost o en un .htaccess de la raíz, Options -Indexes.
  • Express: quita cualquier uso de serve-index y comprueba que express.static solo apunta a la carpeta de build.
  • Hosting compartido: el panel suele tener una opción "Index Manager" o "Directory browsing"; ponla en "No indexing" para el dominio.
  • Vercel, Netlify y similares no generan listados; si ves el hallazgo ahí, la carpeta pertenece a otro servidor que responde bajo tu dominio.

Después, revisa qué había en las carpetas listadas: todo lo que estaba ahí era público aunque ya no se vea la lista. Si había copias de seguridad o datos de usuarios, dalos por descargados y actúa en consecuencia. Y mueve lo privado fuera del directorio que sirve el servidor; el check de archivos sensibles y el de copias de seguridad expuestas cubren los casos más graves.

Comprueba que está arreglado

for d in uploads images assets files backup static media; do
  printf "%-10s " "$d"; curl -s "https://tudominio.com/$d/" | grep -c "Index of"
done

Todos deben devolver 0. Prueba también cualquier otra carpeta que sepas que existe en tu servidor, como /wp-content/uploads/ o /docs/.

Preguntas frecuentes

Mi carpeta de imágenes es pública de todos modos. ¿Qué más da que se liste?

La diferencia está entre que alguien pueda ver una imagen cuya URL conoce y que pueda ver todas, incluidas las que subiste para una campaña que aún no ha salido o las de un cliente concreto. El listado también revela nombres de archivos que a veces incluyen datos personales.

¿Por qué solo prueba siete carpetas?

Son las que concentran la mayoría de los listados abiertos en webs reales. Si tu servidor tiene el listado activado, lo normal es que esté activado para todas, así que la corrección en la configuración lo cierra en todas partes.

¿Un listado en una carpeta vacía es un problema?

Menor, pero indica que el listado está activado en el servidor. Apágalo igualmente: la carpeta no estará vacía siempre.

Compruébalo en tu web

Escanea tu web gratis y mira si este y otros 44 checks pasan, con un prompt de arreglo por cada fallo.

Escanear mi web gratis

Checks relacionados