← Alle checks
BeveiligingTypische ernst: Gemiddeld

Scanner voor directorylisting

Controleert of mappen zoals /uploads of /backup een bladerbare lijst van al hun bestanden tonen.

Wat het checkt

Deze scanner controleert of mappen zoals /uploads of /backup een doorbladerbare lijst tonen van elk bestand dat ze bevatten. Dat gebeurt wanneer de server automatisch een index genereert omdat er geen standaardpagina is. De scanner kijkt alleen of die lijst zichtbaar is.

Waarom het belangrijk is

Een open lijst laat iedereen door je bestanden bladeren en documenten, back-ups of assets ontdekken die je nooit wilde tonen. Het verandert privémappen in een openbare map die makkelijk te doorzoeken is. Vaak komen er bestanden boven die je allang vergeten was.

Hoe je het oplost

Schakel directory listing uit in je serverconfiguratie, een optie die meestal autoindex of directory browsing heet. Plaats een standaard indexbestand in mappen die toegankelijk moeten blijven. En bewaar geen privébestanden in publiek geserveerde paden.

Hoe deze controle werkt

Scanaris vraagt zeven gangbare mappen van je domein op: /uploads/, /images/, /assets/, /files/, /backup/, /static/ en /media/. Als een ervan antwoordt met een pagina waarvan de titel of kop "Index of …" is, het formaat dat Apache, nginx en de meeste servers genereren wanneer ze een map opsommen, opent hij een bevinding met gemiddelde ernst en het pad. Een kale 200 wordt niet gemeld: een single-page app die op alle routes haar HTML teruggeeft, past niet op het patroon.

Waarom dit belangrijk is

Een mapoverzicht verandert een map in een doorbladerbare catalogus van alles wat erin zit, ook wat je nooit vanaf een pagina hebt gelinkt: back-ups, exports, door gebruikers geüploade documenten, oude versies van bestanden, afbeeldingen van nog niet gepubliceerde producten. Niemand hoeft namen te raden; de server levert ze gesorteerd en met datum. En het is de eerste plek waar een automatische scanner kijkt, omdat een open overzicht vaak naar iets ergers in dezelfde map leidt.

Waarom het gebeurt

De webserver heeft bij een verzoek naar een map zonder index.html twee opties: 403 antwoorden of een lijst genereren. Apache en sommige shared-hostingpanelen komen met de lijst ingeschakeld; nginx heeft hem uit tenzij iemand hem heeft aangezet met autoindex on. In Express-apps doet een vergeten serve-index of een express.static met overzichtsopties hetzelfde.

Hoe je het oplost

  • nginx: zoek autoindex on in de configuratie en zet het op off (of verwijder het; uit is de standaard).
  • Apache: in de VirtualHost of in een .htaccess in de root, Options -Indexes.
  • Express: verwijder elk gebruik van serve-index en controleer dat express.static alleen naar de buildmap wijst.
  • Shared hosting: het paneel heeft meestal een optie "Index Manager" of "Directory browsing"; zet die voor het domein op "No indexing".
  • Vercel, Netlify en vergelijkbare genereren geen overzichten; zie je de bevinding daar, dan hoort de map bij een andere server die onder je domein antwoordt.

Controleer daarna wat er in de opgesomde mappen stond: alles daarin was openbaar, ook al is de lijst nu niet meer zichtbaar. Stonden er back-ups of gebruikersgegevens, beschouw ze dan als gedownload en handel daarnaar. En verplaats privébestanden uit de map die de server serveert; de controles gevoelige bestanden en blootgestelde back-ups dekken de ernstigste gevallen.

Controleer of het opgelost is

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

Alle moeten 0 teruggeven. Probeer ook elke andere map waarvan je weet dat die op je server bestaat, zoals /wp-content/uploads/ of /docs/.

Veelgestelde vragen

Mijn afbeeldingenmap is toch al openbaar. Wat maakt het uit of hij wordt opgesomd?

Het verschil is tussen iemand die een afbeelding kan zien waarvan hij de URL kent en iemand die ze allemaal kan zien, inclusief die voor een nog niet gelanceerde campagne of die van een specifieke klant. Het overzicht onthult ook bestandsnamen die soms persoonsgegevens bevatten.

Waarom maar zeven mappen testen?

Dat zijn de mappen waar het merendeel van de open overzichten op echte sites zich concentreert. Als je server het overzicht aan heeft staan, geldt dat normaal voor allemaal, dus de correctie in de configuratie sluit het overal.

Is een overzicht van een lege map een probleem?

Een klein probleem, maar het geeft aan dat het overzicht op de server aan staat. Schakel het toch uit: de map blijft niet eeuwig leeg.

Check het op je site

Scan je site gratis en zie of deze en 44 andere checks slagen, met een fixprompt voor elk probleem.

Mijn site gratis scannen

Gerelateerde checks