Basic Tomcat Info
Try Hard Security Group
Vermeiden Sie das Ausführen als Root
Um Tomcat nicht als Root auszuführen, ist eine sehr verbreitete Konfiguration, einen Apache-Server auf Port 80/443 einzurichten und, wenn der angeforderte Pfad mit einem regulären Ausdruck übereinstimmt, wird die Anfrage an Tomcat gesendet, der auf einem anderen Port läuft.
Standardstruktur
Der
bin
-Ordner speichert Skripte und Binärdateien, die zum Starten und Ausführen eines Tomcat-Servers benötigt werden.Der
conf
-Ordner speichert verschiedene Konfigurationsdateien, die von Tomcat verwendet werden.Die Datei
tomcat-users.xml
speichert Benutzeranmeldeinformationen und ihre zugewiesenen Rollen.Der
lib
-Ordner enthält die verschiedenen JAR-Dateien, die für das korrekte Funktionieren von Tomcat benötigt werden.Die Ordner
logs
undtemp
speichern temporäre Protokolldateien.Der
webapps
-Ordner ist das Standard-Webroot von Tomcat und hostet alle Anwendungen. Derwork
-Ordner fungiert als Cache und wird verwendet, um Daten während der Laufzeit zu speichern.
Jeder Ordner innerhalb von webapps
soll die folgende Struktur haben.
Die wichtigste Datei unter diesen ist WEB-INF/web.xml
, die als Bereitstellungsbeschreibung bekannt ist. Diese Datei speichert Informationen über die Routen, die von der Anwendung verwendet werden, und die Klassen, die diese Routen behandeln.
Alle kompilierten Klassen, die von der Anwendung verwendet werden, sollten im Ordner WEB-INF/classes
gespeichert werden. Diese Klassen können wichtige Geschäftslogik sowie sensible Informationen enthalten. Jede Schwachstelle in diesen Dateien kann zu einem vollständigen Kompromittieren der Website führen. Der lib
-Ordner speichert die für diese bestimmte Anwendung benötigten Bibliotheken. Der jsp
-Ordner speichert Jakarta Server Pages (JSP), früher bekannt als JavaServer Pages
, die mit PHP-Dateien auf einem Apache-Server verglichen werden können.
Hier ist ein Beispiel für eine web.xml-Datei.
Die obige Konfiguration in der web.xml
definiert einen neuen Servlet mit dem Namen AdminServlet
, der auf die Klasse com.inlanefreight.api.AdminServlet
abgebildet ist. Java verwendet die Punkt-Schreibweise, um Paketnamen zu erstellen, was bedeutet, dass der Pfad auf der Festplatte für die oben definierte Klasse wäre:
classes/com/inlanefreight/api/AdminServlet.class
Als nächstes wird ein neues Servlet-Mapping erstellt, um Anfragen an /admin
mit AdminServlet
abzubilden. Diese Konfiguration leitet jede Anfrage für /admin
an die Klasse AdminServlet.class
zur Verarbeitung weiter. Der web.xml
-Deskriptor enthält viele sensible Informationen und ist eine wichtige Datei, die überprüft werden sollte, wenn eine Local File Inclusion (LFI)-Schwachstelle ausgenutzt wird.
tomcat-users
Die Datei tomcat-users.xml
wird verwendet, um den Zugriff auf die Admin-Seiten /manager
und host-manager
zu ermöglichen oder zu verweigern.
Die Datei zeigt uns, auf welche Ressourcen die Rollen manager-gui
, manager-script
, manager-jmx
und manager-status
Zugriff gewähren. In diesem Beispiel sehen wir, dass ein Benutzer tomcat
mit dem Passwort tomcat
die Rolle manager-gui
hat, und ein zweites schwaches Passwort admin
für das Benutzerkonto admin
festgelegt ist.
Referenzen
Try Hard Security Group
Last updated