# Basiese Tomcat-inligting
Leer AWS-hacking van nul tot held methtARTE (HackTricks AWS Red Team Expert)!
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hΓͺ tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**π¬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** π¦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die [hacktricks repo](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
Vind kwesbaarhede wat die belangrikste is sodat jy dit vinniger kan regmaak. Intruder volg jou aanvalsoppervlak, voer proaktiewe dreigingsskanderings uit, vind probleme regoor jou hele tegnologie-stapel, van API's tot webtoepassings en wolkstelsels. [**Probeer dit vandag nog gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
### Vermy om met root te hardloop
Om te verhoed dat Tomcat met root hardloop, is 'n baie algemene konfigurasie om 'n Apache-bediener in poort 80/443 in te stel en, as die versoekte pad ooreenstem met 'n regulΓͺre uitdrukking, word die versoek na Tomcat gestuur wat op 'n ander poort hardloop.
### Standaardstruktuur
```
βββ 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
```
* Die `bin`-map hou skripte en binaire lΓͺers wat nodig is om 'n Tomcat-bediener te begin en te laat loop.
* Die `conf`-map hou verskeie konfigurasie lΓͺers wat deur Tomcat gebruik word.
* Die `tomcat-users.xml`-lΓͺer hou gebruikerslegitimasie en hul toegewysde rolle.
* Die `lib`-map bevat die verskeie JAR-lΓͺers wat nodig is vir die korrekte werking van Tomcat.
* Die `logs`- en `temp`-mappe hou tydelike loglΓͺers.
* Die `webapps`-map is die verstek webwortel van Tomcat en bevat al die toepassings. Die `work`-map dien as 'n kas en word gebruik om data tydens uitvoering te stoor.
Daar word verwag dat elke map binne `webapps` die volgende struktuur sal hΓͺ.
```
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 belangrikste lΓͺer onder hierdie is `WEB-INF/web.xml`, wat bekend staan as die implementeringsbeskrywer. Hierdie lΓͺer stoor **inligting oor die roetes** wat deur die toepassing gebruik word en die klasse wat hierdie roetes hanteer.\
Alle gekompileerde klasse wat deur die toepassing gebruik word, moet in die `WEB-INF/classes`-vouer gestoor word. Hierdie klasse kan belangrike besigheidslogika sowel as sensitiewe inligting bevat. Enige kwesbaarheid in hierdie lΓͺers kan lei tot die totale kompromittering van die webwerf. Die `lib`-vouer stoor die biblioteke wat deur daardie spesifieke toepassing benodig word. Die `jsp`-vouer stoor [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), voorheen bekend as `JavaServer Pages`, wat vergelyk kan word met PHP-lΓͺers op 'n Apache-bediener.
Hier is 'n voorbeeld van 'n **web.xml**-lΓͺer.
```xml
AdminServletcom.inlanefreight.api.AdminServletAdminServlet/admin
```
Die `web.xml`-konfigurasie hierbo definieer 'n **nuwe servlet genaamd `AdminServlet`** wat gekoppel is aan die **klas `com.inlanefreight.api.AdminServlet`**. Java gebruik die puntnotasie om pakkette te skep, wat beteken dat die pad op die skyf vir die bogenoemde klas sou wees:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
Daarna word 'n nuwe servlet-kartering geskep om versoeke na `/admin` met `AdminServlet` te **karteer**. Hierdie konfigurasie sal enige versoek wat ontvang word vir **`/admin` na die `AdminServlet.class`-klas stuur vir verwerking**. Die **`web.xml`**-beskrywer bevat baie **sensitiewe inligting** en is 'n belangrike lΓͺer om te ondersoek wanneer 'n **Local File Inclusion (LFI) kwesbaarheid** benut word.
### tomcat-gebruikers
Die **`tomcat-users.xml`**-lΓͺer word gebruik om toegang tot die **`/manager` en `host-manager` administrasiebladsye** toe te laat of te verbied.
```xml
!-- user manager can access only manager section -->
```
Die lΓͺer wys ons wat elkeen van die rolle `manager-gui`, `manager-script`, `manager-jmx`, en `manager-status` toegang tot bied. In hierdie voorbeeld kan ons sien dat 'n gebruiker `tomcat` met die wagwoord `tomcat` die `manager-gui` rol het, en 'n tweede swak wagwoord `admin` is ingestel vir die gebruikersrekening `admin`.
## Verwysings
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
Vind kwesbaarhede wat die belangrikste is sodat jy dit vinniger kan regstel. Intruder volg jou aanvalsoppervlak, voer proaktiewe dreigingsskanderings uit, vind probleme regoor jou hele tegnologie-stapel, van API's tot webtoepassings en wolkstelsels. [**Probeer dit vandag nog gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Leer AWS-hacking van nul tot held methtARTE (HackTricks AWS Red Team Expert)!
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hΓͺ tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* **Sluit aan by die** [**π¬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** π¦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die [hacktricks repo](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.