Ukryte katalogi i pliki pozostawione przypadkowo na serwerze WWW mogą być bardzo cennym źródłem poufnych informacji. Na tyle cennym, że hackerzy lub konkurencja może dotrzeć do wskazówek na temat użytej technologii, konfiguracji i konkretnej wersji danego rozwiązania / frameworka. Informacje takie są zazwyczaj przechowywane w folderach i plikach systemowych (.git, .gitignore, .svn), plikach konfiguracyjnych projektu lub strony www (.npmrc, package.json, .htaccess), oraz w niestandardowych plikach konfiguracyjnych z typowymi rozszerzeniami (config.json, config.yml, config.xml i wiele podobnych). Wszystkie te pliki mogą zawierać np. wersje kodu źródłowego.
Ogólnie rzecz biorąc, zasoby te możemy podzielić na kilka wspólnych kategorii:
- Pliki zawierające informacje na temat systemu kontroli wersji.
- Pliki konfiguracyjne IDE (Integrated Development Environment).
- Pliki konfiguracji i ustawień, które są specyficzne dla projektu i/lub użytej technologii do jego budowy.
Szczegółowy opis tych zasobów i jakiego rodzaju informacje mogą przechowywać, opublikował użytkownik bl4de.
Jest to interesująca lektura, ponieważ wyszczególnia narzędzia i sposoby odnajdywania ukrytych folderów i plików za pomocą np. gobuster, DirBuster, Dirb lub wfuzz. Takie narzędzia, skanery konsolowe, mogą korzystać ze słownika (np. takiego) zawierającego setki tysięcy najpopularniejszych nazw folderów i plików, np. robots.txt lub ścieżek do plików / katalogów:
/user/password/ /user/login/ /user/register/ /resources/backup /partners/resources/
W zależności od użytej technologii np. plik robots.txt może zawierać niedozwolone zasoby dla robotów sieciowych, ale taka informacja może hackerowi powiedzieć coś więcej — właściciel serwera ma coś do ukrycia: „Nie wchodź tutaj, tam są rzeczy, które nie powinny być widoczne”. Oczywiście w celach edukacyjnych możemy wykorzystać jeden z dostępnych słowników do zbierania informacji o stronie, którą chcemy przeskanować: https://github.com/danielmiessler/RobotsDisallowed
Zawsze warto sprawdzić, czy któryś z plików, który może ujawnić ważne informacje o stronie lub projekcie, istnieje na serwerze. Autor opracowania wyjaśnia, że ujawnione repozytorium Git lub SVN będzie po prostu katastrofą, ponieważ pozwoli na pobranie kodu źródłowego aplikacji internetowej, a także folderu konfiguracji projektu np. IntelliJ IDE. Hackerowi czasami wystarczy tylko to, aby zdobyć potrzebne informacje do szukania podatności i przejęcia kontroli nad stroną bądź aplikacją.
Czy ten artykuł był pomocny?
Oceniono: 0 razy