← Wszystkie testy
BezpieczeństwoTypowa waga: Średni

Skaner listowania katalogów

Sprawdza, czy foldery takie jak /uploads lub /backup pokazują listę wszystkich swoich plików.

Co sprawdza

Ten skaner sprawdza, czy foldery takie jak /uploads albo /backup pokazują przeglądalną listę wszystkich plików, które zawierają. Dzieje się tak, gdy serwer generuje automatyczny indeks, bo nie znajduje domyślnej strony. Skaner patrzy tylko, czy ta lista jest widoczna.

Dlaczego to ważne

Otwarta lista pozwala każdemu przeglądać twoje pliki i odkryć dokumenty, kopie czy zasoby, których nigdy nie zamierzałeś pokazywać. Zmienia prywatne foldery w publiczny katalog, po którym łatwo się poruszać. Często ujawnia pliki, o których nawet nie pamiętałeś, że tam są.

Jak to naprawić

Wyłącz listowanie katalogów w konfiguracji serwera, opcję zwykle nazywaną autoindex lub directory browsing. Umieść domyślny plik indeksu w folderach, które mają pozostać dostępne. I unikaj trzymania prywatnych plików w ścieżkach serwowanych publicznie.

Jak działa ta kontrola

Scanaris żąda siedmiu typowych katalogów Twojej domeny: /uploads/, /images/, /assets/, /files/, /backup/, /static/ i /media/. Jeśli któryś odpowiada stroną, której tytuł lub nagłówek to „Index of …", czyli format generowany przez Apache, nginx i większość serwerów przy listowaniu katalogu, otwiera ustalenie o średniej wadze ze ścieżką. Samo 200 nie jest zgłaszane: aplikacja jednostronicowa zwracająca swój HTML na wszystkich ścieżkach nie pasuje do wzorca.

Dlaczego to ważne

Listing zamienia katalog w przeglądalny katalog wszystkiego, co zawiera, również tego, czego nigdy nie podlinkowano z żadnej strony: kopii zapasowych, eksportów, dokumentów wgranych przez użytkowników, starych wersji plików, zdjęć produktów jeszcze nieopublikowanych. Nie trzeba zgadywać nazw; serwer podaje je posortowane i z datą. I to pierwsze miejsce, w które zagląda automatyczny skaner, bo otwarty listing często prowadzi do czegoś gorszego w tym samym katalogu.

Dlaczego tak się dzieje

Serwer WWW przy żądaniu katalogu bez index.html ma dwie opcje: odpowiedzieć 403 albo wygenerować listę. Apache i niektóre panele hostingu współdzielonego przychodzą z włączoną listą; nginx ma ją wyłączoną, chyba że ktoś włączył ją przez autoindex on. W aplikacjach Express zapomniany serve-index albo express.static z opcjami listowania robi to samo.

Jak to naprawić

  • nginx: poszukaj autoindex on w konfiguracji i zmień na off (albo usuń; wyłączone to wartość domyślna).
  • Apache: w VirtualHost lub w .htaccess w roocie, Options -Indexes.
  • Express: usuń każde użycie serve-index i sprawdź, czy express.static wskazuje tylko na katalog builda.
  • Hosting współdzielony: panel zwykle ma opcję „Index Manager" lub „Directory browsing"; ustaw ją na „No indexing" dla domeny.
  • Vercel, Netlify i podobne nie generują listingów; jeśli widzisz tam ustalenie, katalog należy do innego serwera odpowiadającego pod Twoją domeną.

Potem sprawdź, co było w listowanych katalogach: wszystko, co tam leżało, było publiczne, nawet jeśli lista nie jest już widoczna. Jeśli były tam kopie zapasowe lub dane użytkowników, uznaj je za pobrane i działaj odpowiednio. I przenieś prywatne rzeczy poza katalog serwowany przez serwer; kontrole wrażliwe pliki i wystawione kopie zapasowe obejmują najpoważniejsze przypadki.

Sprawdź, czy naprawione

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

Wszystkie muszą zwrócić 0. Wypróbuj też każdy inny katalog, o którym wiesz, że istnieje na Twoim serwerze, jak /wp-content/uploads/ czy /docs/.

Często zadawane pytania

Mój katalog ze zdjęciami i tak jest publiczny. Co za różnica, czy jest listowany?

Różnica jest między kimś, kto może zobaczyć zdjęcie, którego adres zna, a kimś, kto może zobaczyć wszystkie, w tym te wgrane na kampanię jeszcze nieuruchomioną albo te konkretnego klienta. Listing ujawnia też nazwy plików, które czasem zawierają dane osobowe.

Dlaczego testowanych jest tylko siedem katalogów?

To te, w których skupia się większość otwartych listingów na prawdziwych stronach. Jeśli Twój serwer ma włączone listowanie, zwykle dotyczy to wszystkich, więc poprawka w konfiguracji zamyka je wszędzie.

Czy listing pustego katalogu to problem?

Drobny, ale wskazuje, że listowanie jest włączone na serwerze. I tak je wyłącz: katalog nie zostanie pusty na zawsze.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Powiązane testy