Nie chcesz, aby niepożądany gość przechodził przez system plików Twojego serwera, ale atakujący znaleźli sposób, aby to zrobić. Co możesz zrobić?

Kiedy użytkownicy odwiedzają Twoją witrynę, ufają, że ich dane są bezpieczne i że oni i inni użytkownicy nie mają dostępu do plików lub folderów, do których nie mają uprawnień. Jeśli jednak Twoja witryna jest podatna na przechodzenie między katalogami, osoby atakujące mogą wykorzystać tę słabość, aby przejść z jednego katalogu do drugiego i przeglądać poufne pliki, które powinny być ograniczone.

Ataki te wykorzystują lukę w systemie plików Twojej witryny i mogą ujawnić krytyczne informacje, prowadząc do poważnych zagrożeń bezpieczeństwa. W tym artykule przyjrzymy się, czym są ataki polegające na przeglądaniu katalogów, dlaczego są tak niebezpieczne i jak można chronić przed nimi swoją witrynę.

Co to jest przechodzenie przez katalogi?

Przemierzanie katalogów jest również znane jako przechodzenie po ścieżkach lub wspinanie się po katalogach. Jest to luka w zabezpieczeniach witryn internetowych, w której osoba atakująca może uzyskać dostęp do plików znajdujących się poza głównym katalogiem serwera WWW, na którym działa aplikacja, lub je odczytać, manipulując danymi wejściowymi aplikacji internetowej.

Podczas przeprowadzania ataku polegającego na przeglądaniu katalogów osoby atakujące mogą odczytywać, a czasem nawet wprowadzać zmiany w zastrzeżonych plikach i katalogach na serwerze aplikacji WWW. Mogą mieć dostęp do poufnych plików na serwerze, takich jak pliki konfiguracyjne bazy danych, pliki kodu źródłowego, pliki haseł i pliki dziennika.

Directory Traversal i triada CIA

Przeglądanie katalogów zagraża wszystkim trzem aspektom tak zwana triada CIA. Triada CIA, która jest powszechnie uznanym modelem bezpieczeństwa informacji, oznacza poufność, integralność i dostępność.

Poufność

Ataki polegające na przeglądaniu katalogów naruszają poufność, ponieważ zastrzeżone i wrażliwe pliki zawierające informacje o systemie i innych użytkownikach stają się dostępne dla atakującego. Wszelkie informacje, które nie należą do użytkownika, powinny być utrzymywane w tajemnicy i nie powinny być udostępniane osobom nieupoważnionym. Na przykład osoba atakująca, uzyskując dostęp do bazy danych użytkowników i ich danych osobowych (PII), narusza poufność systemu i danych użytkownika.

Uczciwość

Należy zauważyć, że przeglądanie katalogów może nie tylko zakończyć się, gdy cyberprzestępcy będą mogli czytać i uzyskiwać dostęp do plików na twoim serwerze internetowym. Jeśli uprawnienia systemu plików na serwerze nie są poprawnie skonfigurowane, haker może je zmodyfikować lub usunąć ważne pliki lub katalogi na serwerze, naruszając integralność danych na nim serwer. Na przykład osoba atakująca może zmodyfikować plik konfiguracyjny, aby przyznać sobie dostęp administracyjny do serwera lub usunąć pliki systemowe.

Dostępność

Istnieje wiele sposobów, w jakie osoba atakująca może wykorzystać atak z przechodzeniem katalogu, aby zagrozić dostępności serwera. Jednym z przykładów jest usunięcie krytycznych plików na serwerze, które zakłócają działanie serwera lub powodują, że aplikacja internetowa przestaje odpowiadać. Innym przykładem jest eskalacja uprawnień przez atakującego i przeciążenie serwera żądaniami, co powoduje jego awarię.

Jak działa atak typu Directory Traversal?

Atak polegający na przeglądaniu katalogów może przebiegać na różne sposoby. Gdy osoby atakujące podejrzewają, że witryna internetowa jest podatna na ataki polegające na przeglądaniu katalogów, zaczynają tworzyć złośliwe żądania w celu wysłania ich do tej aplikacji internetowej.

Niektóre witryny wyświetlają pliki za pomocą parametru adresu URL. Weźmy na przykład ten adres URL witryny: https://www.website.com/download_file.php? nazwa pliku=plik.pdf. Oznacza to, że aplikacja internetowa wywołuje plik „file.pdf” z serwera przy użyciu względnej ścieżki adresu URL. W tym przypadku aplikacja czyta ze ścieżki: www/var/documents/file.pdf.

Prostym przykładem ataku polegającego na przeglądaniu katalogów jest atak polegający na przeglądaniu katalogów za pomocą dotdotslash. W systemach UNIX i Windows plik ../ symbole służą do cofania się o jeden katalog. Atakujący może zamienić nazwę dokumentu na ../../../../../etc/passwd. Adres URL wygląda wtedy tak: https://www.website.com/download_file.php? nazwa pliku=../../../../../etc/passwd

Źródło zdjęcia: Profesjonalny fotograf Marco Verch/Flickr

Osoba atakująca może użyć tego ładunku w aplikacji internetowej do przeglądania wielu katalogów wstecz w celu odzyskania pliku „/etc/passwd” z systemu plików serwera.

W systemach opartych na Uniksie plik "/etc/passwd" jest zwykłym plikiem tekstowym zawierającym informacje o lokalnych kont użytkowników w systemie, takich jak nazwy użytkowników, identyfikatory użytkowników, katalogi domowe i powłoka preferencje. Dostęp do tego pliku może być przydatny dla atakujących, ponieważ może dostarczyć informacji o potencjalnych kontach użytkowników i lukach w systemie.

Inne formy ataków polegających na przeglądaniu katalogów obejmują kodowanie adresów URL, podwójne kodowanie i ataki na bajty zerowe.

Dlaczego ataki typu Directory Traversal są tak niebezpieczne?

Ataki polegające na przeglądaniu katalogów są uważane za bardzo niebezpieczne, ponieważ prawie nigdy nie są atakami samodzielnymi. Wykorzystanie luki związanej z przeglądaniem katalogów może prowadzić do wielu innych luk. Niektóre z tych luk obejmują:

Ujawnienie informacji

Ujawnienie informacji ma miejsce, gdy osoba atakująca uzyskuje dostęp do poufnych informacji, do których nie ma uprawnień. Ataki polegające na przeglądaniu katalogów mogą prowadzić do ujawnienia informacji, ponieważ umożliwiają atakującym dostęp do plików i katalogów poza zamierzonym zakresem aplikacji internetowej. Używając ładunków związanych z przeglądaniem katalogów i złośliwych żądań, osoby atakujące mogą wspinać się po hierarchii katalogów, aby potencjalnie uzyskać dostęp do poufnych plików i katalogów na serwerze. Ta luka może zostać wykorzystana do wydobycia poufnych informacji, takich jak hasła lub dane użytkownika.

Włączanie plików lokalnych

Przechodzenie przez katalog może również prowadzić do ataków z włączeniem plików lokalnych (LFI).. LFI to luka w aplikacjach internetowych, która umożliwia atakującemu dołączanie i uruchamianie plików przechowywanych na tym samym serwerze co aplikacja internetowa. atak, osoba atakująca może użyć parametrów wejściowych aplikacji internetowej do określenia lokalnej ścieżki do pliku, która jest następnie dołączana przez aplikację internetową bez odpowiedniego walidacja. Dzięki temu osoba atakująca może wykonać dowolny kod, wyświetlić poufne informacje lub manipulować zachowaniem aplikacji.

Jak można zapobiec atakowi polegającemu na przechodzeniu przez katalog?

Na początek sprawdź poprawność danych wprowadzonych przez użytkownika przed ich przetworzeniem, aby upewnić się, że zawierają one tylko oczekiwane znaki i nie zawierają żadnych znaków specjalnych ani separatorów ścieżek. Innym zaleceniem jest używanie filtrów i dozwolonych wartości z białej listy w celu porównywania danych wprowadzonych przez użytkownika i blokowania podejrzanych wartości. Ale wszystkie te metody może obejść doświadczony haker.

Najlepszym podejściem do zapobiegania atakom polegającym na przeglądaniu katalogów jest całkowite unikanie zezwalania użytkownikom na wprowadzanie danych wejściowych do systemu plików.

Podejmij proaktywne podejście do swojego bezpieczeństwa

Istnieje wiele luk w cyberekosystemie. Aby zabezpieczyć swoje zasoby przed lukami w zabezpieczeniach, należy przeprowadzać regularne oceny bezpieczeństwa i testy penetracyjne w celu zidentyfikowania potencjalnych słabych punktów i usunięcia ich, zanim będą mogły zostać wykorzystane przez napastnicy.

Ponadto bądź na bieżąco z najnowszymi poprawkami bezpieczeństwa i aktualizacjami oprogramowania i systemów, ponieważ dzięki tym aktualizacjom można załatać wiele luk w zabezpieczeniach. Przyjmując proaktywne podejście do cyberbezpieczeństwa, możesz zapewnić, że zasoby Twojej organizacji są chronione przed słabymi punktami i pozostają bezpieczne przed cyberzagrożeniami.