Basic Tomcat Info
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aby nie uruchamiać Tomcat jako root, bardzo powszechną konfiguracją jest ustawienie serwera Apache na porcie 80/443 i, jeśli żądana ścieżka pasuje do wyrażenia regularnego, żądanie jest wysyłane do Tomcat działającego na innym porcie.
Folder bin
przechowuje skrypty i pliki binarne potrzebne do uruchomienia i działania serwera Tomcat.
Folder conf
przechowuje różne pliki konfiguracyjne używane przez Tomcat.
Plik tomcat-users.xml
przechowuje dane uwierzytelniające użytkowników i przypisane im role.
Folder lib
zawiera różne pliki JAR potrzebne do prawidłowego działania Tomcat.
Foldery logs
i temp
przechowują tymczasowe pliki dziennika.
Folder webapps
jest domyślnym katalogiem głównym Tomcat i hostuje wszystkie aplikacje. Folder work
działa jako pamięć podręczna i jest używany do przechowywania danych w czasie działania.
Każdy folder wewnątrz webapps
powinien mieć następującą strukturę.
Najważniejszym plikiem wśród nich jest WEB-INF/web.xml
, znany jako opis wdrożenia. Plik ten przechowuje informacje o trasach używanych przez aplikację oraz klasach obsługujących te trasy.
Wszystkie skompilowane klasy używane przez aplikację powinny być przechowywane w folderze WEB-INF/classes
. Klasy te mogą zawierać ważną logikę biznesową oraz wrażliwe informacje. Każda luka w tych plikach może prowadzić do całkowitego kompromitacji strony internetowej. Folder lib
przechowuje biblioteki potrzebne przez tę konkretną aplikację. Folder jsp
przechowuje Jakarta Server Pages (JSP), wcześniej znane jako JavaServer Pages
, które można porównać do plików PHP na serwerze Apache.
Oto przykład pliku web.xml.
The web.xml
configuration above defines a nowy serwlet o nazwie AdminServlet
that is mapped to the klasy com.inlanefreight.api.AdminServlet
. Java uses the dot notation to create package names, meaning the path on disk for the class defined above would be:
classes/com/inlanefreight/api/AdminServlet.class
Next, a new servlet mapping is created to map requests to /admin
with AdminServlet
. This configuration will send any request received for /admin
to the AdminServlet.class
class for processing. The web.xml
descriptor holds a lot of wrażliwych informacji and is an important file to check when leveraging a Local File Inclusion (LFI) vulnerability.
The tomcat-users.xml
file is used to pozwolić or disallow access to the /manager
and host-manager
admin pages.
Plik pokazuje, do czego dostęp mają poszczególne role manager-gui
, manager-script
, manager-jmx
i manager-status
. W tym przykładzie widzimy, że użytkownik tomcat
z hasłem tomcat
ma rolę manager-gui
, a dla konta użytkownika admin
ustawione jest drugie słabe hasło admin
.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)