Basic Tomcat Info
Try Hard Security Group
Evitare di eseguire con privilegi di root
Per non eseguire Tomcat con privilegi di root, una configurazione molto comune è impostare un server Apache sulla porta 80/443 e, se il percorso richiesto corrisponde a una regex, la richiesta viene inviata a Tomcat in esecuzione su una porta diversa.
Struttura predefinita
La cartella
bin
memorizza script ed eseguibili necessari per avviare e eseguire un server Tomcat.La cartella
conf
memorizza vari file di configurazione utilizzati da Tomcat.Il file
tomcat-users.xml
memorizza le credenziali degli utenti e i ruoli loro assegnati.La cartella
lib
contiene i vari file JAR necessari per il corretto funzionamento di Tomcat.Le cartelle
logs
etemp
memorizzano file di log temporanei.La cartella
webapps
è la root web predefinita di Tomcat e ospita tutte le applicazioni. La cartellawork
funge da cache ed è utilizzata per memorizzare dati durante l'esecuzione.
Ci si aspetta che ciascuna cartella all'interno di webapps
abbia la seguente struttura.
Il file più importante tra questi è WEB-INF/web.xml
, noto come descrittore di distribuzione. Questo file memorizza informazioni sulle route utilizzate dall'applicazione e sulle classi che gestiscono tali route.
Tutte le classi compilare utilizzate dall'applicazione dovrebbero essere memorizzate nella cartella WEB-INF/classes
. Queste classi potrebbero contenere logiche aziendali importanti e informazioni sensibili. Qualsiasi vulnerabilità in questi file può portare al compromesso totale del sito web. La cartella lib
memorizza le librerie necessarie per quell'applicazione specifica. La cartella jsp
memorizza le Jakarta Server Pages (JSP), precedentemente conosciute come JavaServer Pages
, che possono essere paragonate ai file PHP su un server Apache.
Ecco un esempio di file web.xml.
Il file di configurazione web.xml
sopra definisce un nuovo servlet chiamato AdminServlet
che è mappato alla classe com.inlanefreight.api.AdminServlet
. Java utilizza la notazione a punti per creare i nomi dei pacchetti, il che significa che il percorso su disco per la classe definita sopra sarebbe:
classes/com/inlanefreight/api/AdminServlet.class
Successivamente, viene creato un nuovo mapping del servlet per mappare le richieste a /admin
con AdminServlet
. Questa configurazione invierà qualsiasi richiesta ricevuta per /admin
alla classe AdminServlet.class
per l'elaborazione. Il descrittore web.xml
contiene molte informazioni sensibili ed è un file importante da controllare quando si sfrutta una vulnerabilità di Inclusione di File Locale (LFI).
tomcat-users
Il file tomcat-users.xml
viene utilizzato per consentire o impedire l'accesso alle pagine di amministrazione /manager
e host-manager
.
Il file ci mostra a cosa forniscono accesso i ruoli manager-gui
, manager-script
, manager-jmx
e manager-status
. In questo esempio, possiamo vedere che un utente tomcat
con la password tomcat
ha il ruolo manager-gui
, e una seconda password debole admin
è impostata per l'account utente admin
Riferimenti
Try Hard Security Group
Last updated