# Grundlegende Tomcat-Informationen
Lernen Sie AWS-Hacking von Grund auf mithtARTE (HackTricks AWS Red Team Expert)!
* Arbeiten Sie in einem **Cybersicherheitsunternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks bewerben**? Oder möchten Sie Zugriff auf die **neueste Version von PEASS oder HackTricks im PDF-Format** haben? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das [hacktricks repo](https://github.com/carlospolop/hacktricks) und das [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)** einreichen.
Finden Sie die wichtigsten Schwachstellen, damit Sie sie schneller beheben können. Intruder verfolgt Ihre Angriffsfläche, führt proaktive Bedrohungsscans durch und findet Probleme in Ihrer gesamten Technologie-Stack, von APIs über Webanwendungen bis hin zu Cloud-Systemen. [**Probieren Sie es noch heute kostenlos aus**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
### Vermeiden Sie das Ausführen als Root
Um Tomcat nicht als Root auszuführen, ist eine sehr häufige 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
```
├── bin
├── conf
│ ├── catalina.policy
│ ├── catalina.properties
│ ├── context.xml
│ ├── tomcat-users.xml
│ ├── tomcat-users.xsd
│ └── web.xml
├── lib
├── logs
├── temp
├── webapps
│ ├── manager
│ │ ├── images
│ │ ├── META-INF
│ │ └── WEB-INF
| | └── web.xml
│ └── ROOT
│ └── WEB-INF
└── work
└── Catalina
└── localhost
```
* Der `bin`-Ordner enthält Skripte und Binärdateien, die zum Starten und Ausführen eines Tomcat-Servers benötigt werden.
* Der `conf`-Ordner enthält 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 ordnungsgemäße Funktionieren von Tomcat benötigt werden.
* Die Ordner `logs` und `temp` speichern temporäre Protokolldateien.
* Der `webapps`-Ordner ist das Standard-Webroot von Tomcat und enthält alle Anwendungen. Der `work`-Ordner fungiert als Cache und wird verwendet, um Daten während der Laufzeit zu speichern.
Es wird erwartet, dass jeder Ordner innerhalb von `webapps` die folgende Struktur hat.
```
webapps/customapp
├── images
├── index.jsp
├── META-INF
│ └── context.xml
├── status.xsd
└── WEB-INF
├── jsp
| └── admin.jsp
└── web.xml
└── lib
| └── jdbc_drivers.jar
└── classes
└── AdminServlet.class
```
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 verarbeiten.\
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 einer vollständigen Kompromittierung der Website führen. Der Ordner `lib` speichert die für diese bestimmte Anwendung benötigten Bibliotheken. Der Ordner `jsp` speichert [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), 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.
```xml
AdminServletcom.inlanefreight.api.AdminServletAdminServlet/admin
```
Die oben gezeigte `web.xml`-Konfiguration definiert einen **neuen Servlet mit dem Namen `AdminServlet`**, der der **Klasse `com.inlanefreight.api.AdminServlet`** zugeordnet ist. Java verwendet die Punkt-Schreibweise, um Paketnamen zu erstellen, was bedeutet, dass der Pfad auf der Festplatte für die oben definierte Klasse wie folgt wäre:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
Als nächstes wird eine neue Servlet-Mapping erstellt, um Anfragen an `/admin` mit `AdminServlet` **zu verknüpfen**. Diese Konfiguration leitet jede Anfrage für **`/admin` an die Klasse `AdminServlet.class`** zur Verarbeitung weiter. Die **`web.xml`**-Beschreibung 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 **`/manager` und `host-manager` Admin-Seiten** zu **ermöglichen** oder zu verweigern.
```xml
!-- user manager can access only manager section -->
```
Die Datei zeigt uns, auf welche Funktionen jeder der Rollen `manager-gui`, `manager-script`, `manager-jmx` und `manager-status` Zugriff hat. 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
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
Finden Sie die wichtigsten Schwachstellen, damit Sie sie schneller beheben können. Intruder verfolgt Ihre Angriffsfläche, führt proaktive Bedrohungsscans durch und findet Probleme in Ihrer gesamten Technologie-Stack, von APIs über Webanwendungen bis hin zu Cloud-Systemen. [**Probieren Sie es noch heute kostenlos aus**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Lernen Sie AWS-Hacking von Null auf Held mithtARTE (HackTricks AWS Red Team Expert)!
* Arbeiten Sie in einem **Cybersecurity-Unternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks bewerben**? Oder möchten Sie Zugriff auf die **neueste Version des PEASS oder HackTricks als PDF-Download** haben? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das [hacktricks-Repo](https://github.com/carlospolop/hacktricks) und das [hacktricks-cloud-Repo](https://github.com/carlospolop/hacktricks-cloud) senden**.