Co to jest przechodzenie przez katalogi?
Opublikowany: 2023-05-09Nakłaniając serwer sieciowy do ujawnienia zastrzeżonych w inny sposób informacji, osoby atakujące mogą zyskać potężne narzędzie do złamania zabezpieczeń systemu i spowodowania znacznych szkód. Przechodzenie przez katalogi jest powszechną metodą stosowaną do osiągnięcia tego celu. Próba wyjścia poza obszary systemu plików zarezerwowane dla danej witryny może doprowadzić do kradzieży danych i wykonania dowolnego kodu.
Zazwyczaj serwery WWW ograniczają dostęp do systemu plików, umieszczając pliki witryny w jej katalogu głównym, znanym również jako folder główny dokumentu. Cyberprzestępcy mogą jednak obejść te kontrole bezpieczeństwa i wykorzystać niezabezpieczone uprawnienia do plików. W ten sposób mogą uzyskać nieautoryzowany dostęp do krytycznych informacji przechowywanych w innym miejscu na serwerze ofiary.
Luki w zabezpieczeniach związane z dołączaniem plików, regularnie identyfikowane we wtyczkach i motywach, sprawiają, że witryny WordPress są priorytetowym celem ataków obejmujących przeglądanie katalogów. I chociaż wdrażanie bezpiecznych praktyk kodowania jest zadaniem twórców wtyczek i motywów, wdrażanie dobrych praktyk bezpieczeństwa jest obowiązkiem właścicieli witryn.
W tym przewodniku po przeglądaniu katalogów przyjrzymy się tej popularnej metodzie stosowanej przez hakerów do wyłamywania się z katalogu głównego witryny w celu uzyskania dostępu do zastrzeżonych danych. Dowiesz się, w jaki sposób path traversal umożliwia atakującym skuteczne wykorzystanie luk w zabezpieczeniach lokalnych plików (LFI) w celu wyrządzenia szkód oraz jak zabezpieczyć witrynę WordPress przed tego typu atakami poprzez wdrożenie solidnych praktyk bezpieczeństwa.
Najpierw przyjrzyjmy się bliżej pojęciom bezpiecznych operacji serwera. Dokładniej mówiąc, w jaki sposób rozdzielane są różne typy danych w środowisku serwerowym i jakie miejsce zajmują dane strony internetowej w tym ekosystemie.
Jak partycjonowanie danych pomaga zabezpieczyć operacje na serwerze
Witryny i aplikacje internetowe polegają na serwerach do przechowywania danych. Dane te są następnie przetwarzane przez serwery sieciowe i bazy danych oraz inne specyficzne aplikacje, zanim zostaną dostarczone do przeglądarek odwiedzających przez Internet jako żądane strony internetowe. Bazowe komponenty sprzętowe i programowe współpracują ze sobą, tworząc solidną infrastrukturę, która napędza tę funkcjonalność.
Jednak ta architektura klient-serwer wymaga również rozważnego podejścia do bezpieczeństwa serwera. Usługi krytyczne i inne komponenty systemu operacyjnego serwera muszą być całkowicie odseparowane od plików użytkownika i danych serwisu. To oddzielenie danych w systemie plików jest powszechnie znane jako partycjonowanie danych.
Partycjonowanie danych pomaga zabezpieczyć najbardziej wrażliwe aspekty operacji serwera poprzez segregację różnych typów danych na osobne partycje. Implementacja partycjonowania systemu plików i innych mechanizmów bezpieczeństwa pomaga chronić serwery przed nieautoryzowanym dostępem do poufnych informacji i naruszeniami na poziomie systemu. Ponadto partycjonowanie danych umożliwia wydajne zarządzanie zasobami i zwiększa wydajność serwera poprzez oddzielenie często modyfikowanych danych od plików, które są głównie przeznaczone tylko do odczytu, oraz odizolowanie danych systemowych i danych użytkowników.
Kontrola dostępu do serwera WWW: Ograniczanie danych witryny za pomocą korzeni dokumentów
Aby oddzielić dane witryny internetowej od danych systemowych, serwery sieciowe wykorzystują koncepcję korzeni dokumentów. Wiąże się to z ograniczeniem plików witryny do wyznaczonego katalogu w systemie plików, znanego jako katalog główny witryny. Dzięki zdefiniowaniu katalogu głównego dokumentu serwer sieciowy może poprawnie kierować i odpowiadać na przychodzące żądania dotyczące zawartości tej witryny. Ten katalog główny jest punktem wyjścia do obsługi żądań internetowych dla tej witryny.
Ograniczenie to pomaga zapobiegać nieautoryzowanemu dostępowi do krytycznych danych serwera, takich jak informacje o systemie operacyjnym i kluczowe pliki konfiguracyjne, przechowywanych poza wyznaczonym katalogiem głównym. Oznacza to, że wszelkie skrypty lub inne treści i funkcje związane z określoną stroną internetową mogą uzyskiwać dostęp i modyfikować dane tylko w katalogu głównym i jego podkatalogach, co chroni resztę serwera w przypadku naruszenia bezpieczeństwa.
Oprócz korzeni dokumentów serwery sieciowe wykorzystują inne mechanizmy kontroli dostępu w celu dalszego ograniczenia dostępu do danych witryn internetowych. Jednym z najbardziej godnych uwagi mechanizmów są uprawnienia do plików. Uprawnienia do plików pomagają egzekwować zasadę najmniejszych uprawnień, co oznacza, że użytkownicy systemu lub procesy otrzymują tylko minimalny poziom dostępu wymagany do wykonywania zamierzonych funkcji.
Pomimo solidnych zabezpieczeń tego podejścia, hakerzy mogą zastosować szereg złośliwych technik, aby je ominąć. Jedną z takich metod jest przeglądanie katalogów. Ataki polegające na przeglądaniu katalogów wykorzystują słabości kodu strony internetowej i implementację bezpiecznych uprawnień, aby nakłonić serwer WWW do ujawnienia zastrzeżonych informacji, które w przeciwnym razie byłyby niedostępne z przeglądarki.
Co to jest przechodzenie przez katalogi?
Directory traversal, znany również jako path traversal, to złośliwa technika mająca na celu udzielenie dostępu do zastrzeżonych plików i katalogów poza katalogiem głównym docelowej witryny lub aplikacji internetowej. Path traversal umożliwia atakującemu przejście przez system plików serwera aż do katalogu głównego i innych folderów z ograniczeniami za pośrednictwem przeglądarki – zachowanie, które w normalnych okolicznościach nie powinno być możliwe.
Przechodzenie przez katalogi odbywa się poprzez manipulowanie zmiennymi, które odwołują się do plików, za pomocą znaków specjalnych, zwanych sekwencjami przechodzenia przez ścieżkę. Sekwencje takie jak kropka-kropka-ukośnik „../” są interpretowane przez serwer WWW, zmuszając go do przeniesienia o jeden katalog wyżej w hierarchii systemu plików, odsuwając się od katalogu głównego dokumentu witryny.
Jeśli witryna internetowa jest przechowywana w katalogu /home/user/public_html, podanie sekwencji przechodzenia przez katalog „../../../etc” umożliwi atakującemu przejście do katalogu /etc, w którym przechowywana jest krytyczna konfiguracja systemu w systemie Linux serwery.
Jeśli lista katalogów jest wyłączona w konfiguracji serwera WWW, cyberprzestępca nie będzie mógł przeglądać zawartości żądanego katalogu. Może to częściowo zwiększyć bezpieczeństwo systemu i ograniczyć potencjalne szkody wyrządzane przez ataki polegające na przeglądaniu katalogów, ponieważ osoba atakująca będzie musiała dokładnie określić plik, który chce wyświetlić w przeglądarce. Ale ponieważ przez większość czasu hakerzy dokładnie wiedzą, jakich informacji szukają, wyłączenie listy katalogów nie uniemożliwi im dostępu do nich.
Plik /etc/passwd jest jednym z częstych celów ataków z przechodzeniem katalogów. Na serwerach Linux plik /etc/passwd zawiera listę użytkowników utworzonych na serwerze. Może to dać hakerom dobry punkt wyjścia do ataków siłowych na dane uwierzytelniające użytkowników. Ponieważ /etc/passwd ma uprawnienia do plików 644, co oznacza, że jest czytelny dla wszystkich użytkowników systemu, w tym użytkownika, dla którego działa serwer WWW. W ten sposób serwer WWW może renderować zawartość pliku przez przeglądarkę.
Jak działa przechodzenie przez katalogi?
Jako złośliwa technika, przechodzenie przez katalogi jest rzadko wykorzystywane jako jedyny sposób na uzyskanie dostępu do poufnych informacji na serwerach ofiar. Po pierwsze, osoby atakujące muszą znaleźć sposób na wykorzystanie luki w zaatakowanej witrynie internetowej, aby znaleźć sposób na wyświetlenie żądanych informacji w przeglądarce. Dopiero wtedy przechodzenie przez katalogi jest wykorzystywane do poruszania się po systemie plików serwera ofiary w celu dotarcia do zastrzeżonych katalogów.
Luki w zabezpieczeniach związane z dołączaniem plików umożliwiają korzystanie z przechodzenia przez katalogi. Luka w zabezpieczeniach związana z przeglądaniem katalogów występuje, gdy witryna internetowa nie oczyszcza prawidłowo danych wprowadzanych przez użytkownika, takich jak ścieżki plików dostarczane za pomocą dynamicznego włączania plików. Połączenie lokalnych luk w zabezpieczeniach (LFI) i przemierzania katalogów umożliwia hakerom dostęp do danych poza głównym dokumentem docelowej witryny, ujawniając poufne informacje o serwerze.
Przykład przeglądania katalogów
Aby lepiej zrozumieć, w jaki sposób można wykorzystać luki w zabezpieczeniach związane z dołączaniem plików lokalnych i przeglądaniem katalogów, spójrzmy na poniższy przykład. Ten przykład jest uproszczoną reprezentacją tego, w jaki sposób przeglądanie katalogów jest wykorzystywane przez błąd dołączania plików.
Twórca stron internetowych dodaje stronę internetową content.php, która będzie używana do umożliwienia witrynie dynamicznego ładowania różnych stron lub komponentów na podstawie żądania użytkownika. Na przykład, jeśli odwiedzający witrynę chce wyświetlić stronę „Kontakt z nami”, jego żądanie może zostać wyświetlone w pasku adresu przeglądarki jako „https://website.com/content.php?page=contact_us”.
Strona content.php używałaby techniki włączania plików lokalnych w celu odniesienia do pliku odpowiadającego parametrowi „contact_us”, który może zawierać kod PHP i HTML żądanej strony „Kontakt”. W tym przykładzie strona internetowa content.php działa jako kontroler, który ładuje odpowiedni plik, który generuje zawartość dynamicznie na podstawie danych wprowadzonych przez użytkownika.
Jeśli jednak dane wejściowe użytkownika nie zostaną odpowiednio zweryfikowane lub oczyszczone, osoby atakujące mogą wykorzystać luki w zabezpieczeniach związane z dołączaniem plików i przechodzeniem do katalogów w celu uwzględnienia dowolnych plików, które następnie zostaną wyświetlone w przeglądarce.
Na przykład haker może przekazać „../../../../../var/log/apache2/access.log” jako wartość parametru zapytania o stronę — serię sekwencji przeglądania katalogów, po których następuje adres głównego dziennika dostępu serwera WWW Apache w systemie plików. W ten sposób osoba atakująca może wyświetlić zawartość pliku dziennika, który zawiera poufne informacje, takie jak adresy IP, ciągi agenta użytkownika i adresy URL żądane przez odwiedzających witrynę.
Jak uprawnienia do plików mogą ułatwić lub ograniczyć przechodzenie przez katalogi
Uprawnienia do plików odgrywają ogromną rolę w zapewnieniu bezpieczeństwa serwera i witryny. Ograniczając dostęp do pliku tylko do określonych użytkowników i grup systemowych, uprawnienia mogą ułatwić lub ograniczyć przeszukiwanie katalogów.
W przypadku ataku polegającego na dołączaniu plików przy użyciu przeglądania katalogów zawartość pliku żądanego przez osobę atakującą byłaby wyświetlana w przeglądarce tylko wtedy, gdyby jej uprawnienia do plików zezwalały na odczytanie jej przez system korzystający z serwera WWW. Podczas gdy niektóre pliki z ograniczeniami, takie jak /etc/password, mają uprawnienia 644, co czyni je czytelnymi dla wszystkich użytkowników systemu, inne pliki pozostają dostępne tylko dla użytkownika root.
Plik /etc/shadow, który zawiera zaszyfrowane hasła dla wszystkich użytkowników serwera Linux, ma uprawnienia do pliku 640, co czyni go niedostępnym dla użytkowników innych niż root. Uniemożliwia to hakerom dostęp do pliku za pośrednictwem przeglądarki poprzez przeglądanie katalogów.
Jak wykryć luki w zabezpieczeniach związane z przeglądaniem katalogów w witrynie WordPress?
Rdzeń WordPress utrzymuje wysoki poziom bezpieczeństwa i jest w pełni chroniony przed lukami w zabezpieczeniach dołączania plików i przeglądaniem katalogów. Jednak wysokie opcje dostosowywania oferowane przez platformę zwiększają prawdopodobieństwo obecności tych luk w witrynie WordPress. Nawet najbardziej renomowane wtyczki i motywy WordPress mogą zawierać luki w zabezpieczeniach, które są regularnie wykrywane.
Cotygodniowe raporty iThemes dotyczące luk w zabezpieczeniach WordPress pomagają szybko identyfikować i naprawiać nowo ujawnione luki w zabezpieczeniach wtyczek i motywów WordPress, w tym przeglądanie katalogów. Po prostu sprawdź raporty o lukach w zabezpieczeniach, aby sprawdzić, czy ostatnio wykryto jakieś luki w zabezpieczeniach we wtyczkach, których używasz w swojej witrynie WordPress, a także w aktywnym motywie, i sprawdź, czy została wydana łatka.
iThemes Security Pro może zautomatyzować proces skanowania witryny WordPress w poszukiwaniu luk i szybko załatać zidentyfikowane wady w Twoim imieniu. iThemes Security Pro przeprowadzi zaawansowane skanowanie w poszukiwaniu luk dwa razy dziennie, wyśle wiadomość e-mail w przypadku wykrycia luk i automatycznie zainstaluje aktualizację, jeśli dostępna jest poprawka bezpieczeństwa.
Jak bronić się przed przechodzeniem przez katalog?
Wykorzystywanie luk w zabezpieczeniach znalezionych we wtyczkach i motywach jest jednym z największych wektorów ataków wykorzystywanych przez hakerów do uzyskiwania nieautoryzowanego dostępu, kradzieży poufnych danych i przesyłania złośliwego oprogramowania, w tym powłok typu backdoor, do witryn WordPress. I chociaż przestrzeganie bezpiecznych praktyk kodowania wchodzi w zakres obowiązków twórców wtyczek i motywów, właściciele witryn WordPress są odpowiedzialni za lokalne wdrażanie środków ochronnych. Tylko wielopłaszczyznowe podejście do bezpieczeństwa WordPress może pomóc zmniejszyć ryzyko bycia ofiarą nowoczesnych, wyrafinowanych cyberataków.
Aktualizuj całe oprogramowanie
Aktualizowanie rdzenia WordPress, aktywnych wtyczek i wybranego motywu do najnowszej dostępnej wersji to pierwszy krok w kierunku wyeliminowania przeglądania katalogów i innych poważnych luk w zabezpieczeniach na poziomie aplikacji. Ponieważ w oprogramowaniu obsługującym Twoją witrynę WordPress wykrywane są nowe luki w zabezpieczeniach, niezwykle ważne jest instalowanie poprawek bezpieczeństwa, gdy tylko staną się one dostępne. Zanim wykryta luka zostanie usunięta przez twórcę wtyczki lub motywu, część oprogramowania, której dotyczy luka, może zostać wyłączona, aby zmniejszyć powierzchnię ataku.
Śledzenie aktualizacji wtyczek i motywów może być trudnym zadaniem, ale dzięki iThemes Security Pro właściciele witryn mogą uzyskać dostęp do kompleksowego rozwiązania, które upraszcza ten proces i pomaga zapewnić aktualność witryn i ochronę przed lukami w zabezpieczeniach. Funkcja zarządzania wersjami oferuje automatyczne aktualizacje oprogramowania w celu ochrony witryny WordPress.
Skonfiguruj bezpieczne uprawnienia do plików
Bezpieczne uprawnienia do plików WordPress zapewniają dodatkową warstwę obrony przed atakami mającymi na celu uzyskanie dostępu do poufnych informacji o witrynie i serwerze. I chociaż rzadko zachodzi potrzeba zmiany uprawnień do plików krytycznych plików konfiguracyjnych systemu i innych zastrzeżonych danych serwera, odpowiedzialność za skonfigurowanie bezpiecznych uprawnień do plików witryn często spada na właściciela witryny.
Przechowywanie krytycznych informacji WordPress, takich jak plik wp-config.php, może pomóc w skutecznym zapobieganiu naruszeniom bezpieczeństwa między kontami poprzez dowiązania symboliczne ataków włączenia plików wykorzystujących luki w zabezpieczeniach związane z przeglądaniem katalogów. Kontrole uprawnień do plików w iThemes Security Pro pomagają właścicielom stron internetowych upewnić się, że ten krytyczny mechanizm bezpieczeństwa jest poprawnie zaimplementowany w ich witrynach WordPress.
Zaimplementuj zaporę sieciową aplikacji
Zapory ogniowe działają na zasadzie odfiltrowywania złośliwych żądań internetowych, które pasują do znanych wzorców lub wykazują nieprawidłowe wzorce, zanim zostaną przekazane do serwera WWW. Jako solidna pierwsza linia obrony przed szeroką gamą cyberataków kierowanych przez boty, takich jak odmowa usługi (Dos) i rozproszona odmowa usługi (DDoS), oraz atakami polegającymi na wstrzykiwaniu danych, takimi jak cross-site scripting (XSS) i SQL zastrzyki (SQLi).
Wdrożenie zapory sieciowej (WAF) lub połączenia rozwiązania zapobiegania włamaniom opartego na hoście i chmurze może znacznie zmniejszyć prawdopodobieństwo udanej próby włamania. Działając jako druga warstwa obrony przed lukami w zabezpieczeniach związanymi z dołączaniem plików i przechodzeniem do katalogów, zapory ogniowe aplikacji internetowych umożliwiają hakerom wykorzystanie wszelkich luk w zabezpieczeniach wykrytych w niezałatanych wersjach wtyczek i motywów.
Dzięki IThemes Security Pro ochrona przed brutalną siłą i wbudowane rozwiązania do zarządzania botami pomagają zatrzymać złe boty i odfiltrować złośliwe żądania internetowe przed dotarciem do Twojej witryny. Dzięki dodaniu uwierzytelniania wieloskładnikowego opartego na kluczach z loginami biometrycznymi, ten kompleksowy pakiet zabezpieczeń oferuje wielopłaszczyznowe podejście do ochrony witryny przed różnymi rodzajami zagrożeń bezpieczeństwa.
Zabezpiecz swoją witrynę WordPress za pomocą iThemes Security Pro
Luki w zabezpieczeniach związane z dołączaniem plików i przeglądaniem katalogów stanowią poważne zagrożenie dla bezpieczeństwa witryn internetowych, ponieważ są często wykorzystywane przez hakerów, którzy chcą uzyskać nieautoryzowany dostęp do poufnych danych lub wykonać złośliwy kod na serwerze ofiary. Wykorzystując sekwencje przeglądania katalogów i dostarczając wrażliwej witrynie internetowej ścieżkę do określonych danych, osoba atakująca może oszukać serwer sieciowy, aby odsłonił zastrzeżone w inny sposób informacje o serwerze i witrynie.
Pomimo tego, że jest szeroko badany i rozpoznawany, przechodzenie przez katalogi pozostaje głównym problemem dla witryn WordPress, które opierają się na przestarzałym oprogramowaniu i nie mają odpowiednich środków bezpieczeństwa. Wykonywanie na czas aktualizacji rdzenia, motywu i wtyczek WordPress, konfigurowanie bezpiecznych uprawnień do plików i wdrażanie zapory aplikacji internetowej może znacznie zmniejszyć ryzyko, że Twoja witryna będzie podatna na ataki polegające na dołączaniu plików wykorzystujące przechodzenie przez katalogi.
iThemes Security Pro może pomóc w obronie witryny WordPress przed szeroką gamą cyberzagrożeń, oferując kompleksowe, wieloaspektowe podejście do bezpieczeństwa witryny. Dzięki zaawansowanemu skanowaniu pod kątem luk w zabezpieczeniach, automatycznym aktualizacjom oprogramowania i wbudowanym potężnym rozwiązaniom do zarządzania botami, iThemes Security Pro działa jako osobisty doradca ds. Bezpieczeństwa, zapewniając bezpieczeństwo Twojej witryny WordPress przez cały czas.
Najlepsza wtyczka zabezpieczająca WordPress do zabezpieczania i ochrony WordPress
WordPress obsługuje obecnie ponad 40% wszystkich stron internetowych, więc stał się łatwym celem dla hakerów o złośliwych zamiarach. Wtyczka iThemes Security Pro usuwa zgadywanie z zabezpieczeń WordPress, aby ułatwić zabezpieczanie i ochronę witryny WordPress. To tak, jakby zatrudnić pełnoetatowego eksperta ds. bezpieczeństwa, który stale monitoruje i chroni Twoją witrynę WordPress.
Kiki ma tytuł licencjata z zarządzania systemami informatycznymi i ponad dwuletnie doświadczenie w systemach Linux i WordPress. Obecnie pracuje jako specjalista ds. bezpieczeństwa w Liquid Web i Nexcess. Wcześniej Kiki była częścią zespołu wsparcia Liquid Web Managed Hosting, gdzie pomogła setkom właścicieli witryn WordPress i dowiedziała się, jakie problemy techniczne często napotykają. Jej pasja do pisania pozwala jej dzielić się swoją wiedzą i doświadczeniem, aby pomagać ludziom. Oprócz technologii Kiki lubi uczyć się o kosmosie i słuchać podcastów o prawdziwych przestępstwach.