Basic Tomcat Info
Grupa Try Hard Security
Unikaj uruchamiania jako root
Aby nie uruchamiać Tomcata jako root, bardzo częstą konfiguracją jest ustawienie serwera Apache na porcie 80/443 i, jeśli żądana ścieżka pasuje do wyrażenia regularnego, żądanie jest przesyłane do Tomcata działającego na innym porcie.
Domyślna struktura
Folder
bin
przechowuje skrypty i pliki binarne potrzebne do uruchomienia 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 ich przypisane role.Folder
lib
zawiera różne pliki JAR potrzebne do poprawnego działania Tomcat.Foldery
logs
itemp
przechowują tymczasowe pliki dziennika.Folder
webapps
jest domyślnym katalogiem głównym Tomcat i zawiera wszystkie aplikacje. Folderwork
działa jako pamięć podręczna i służy do przechowywania danych podczas działania.
Oczekuje się, że każdy folder wewnątrz webapps
będzie miał następującą strukturę.
Najważniejszym plikiem spośród nich jest WEB-INF/web.xml
, który jest znany jako deskryptor wdrożenia. Ten plik przechowuje informacje o trasach używanych przez aplikację oraz klasy obsługujące te trasy.
Wszystkie skompilowane klasy używane przez aplikację powinny być przechowywane w folderze WEB-INF/classes
. Te klasy mogą zawierać ważną logikę biznesową oraz poufne informacje. Każda podatność w tych plikach może prowadzić do całkowitego skompromitowania strony internetowej. Folder lib
przechowuje biblioteki potrzebne dla danej aplikacji. 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ładowy plik web.xml.
Konfiguracja web.xml
powyżej definiuje nowy serwlet o nazwie AdminServlet
, który jest odwzorowany do klasy com.inlanefreight.api.AdminServlet
. Java używa notacji kropkowej do tworzenia nazw pakietów, co oznacza, że ścieżka na dysku dla zdefiniowanej powyżej klasy będzie:
classes/com/inlanefreight/api/AdminServlet.class
Następnie tworzony jest nowy odwzorowanie serwletu, aby odwzorować żądania na /admin
z AdminServlet
. Ta konfiguracja przekieruje każde żądanie otrzymane dla /admin
do klasy AdminServlet.class
w celu przetworzenia. Deskryptor web.xml
zawiera wiele wrażliwych informacji i jest ważnym plikiem do sprawdzenia podczas wykorzystywania podatności Local File Inclusion (LFI).
tomcat-users
Plik tomcat-users.xml
jest używany do zezwolenia lub zabrania dostępu do stron administracyjnych /manager
i host-manager
.
Plik pokazuje, do czego dostęp zapewniają 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 drugie słabe hasło admin
jest ustawione dla konta użytkownika admin
.
Referencje
Try Hard Security Group
Last updated