Basic Tomcat Info
Groupe de sécurité Try Hard
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-dae1ef8c660e0243188462f22f417bbb1a2719d3%252Ftelegram-cloud-document-1-5159108904864449420.jpg%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5a1540d4&sv=1)
Évitez de lancer avec root
Pour ne pas exécuter Tomcat avec root, une configuration très courante consiste à définir un serveur Apache sur le port 80/443 et, si le chemin demandé correspond à une expression régulière, la requête est envoyée à Tomcat s'exécutant sur un port différent.
Structure par défaut
Le dossier
bin
stocke les scripts et binaires nécessaires pour démarrer et exécuter un serveur Tomcat.Le dossier
conf
stocke divers fichiers de configuration utilisés par Tomcat.Le fichier
tomcat-users.xml
stocke les informations d'identification des utilisateurs et leurs rôles attribués.Le dossier
lib
contient les différents fichiers JAR nécessaires au bon fonctionnement de Tomcat.Les dossiers
logs
ettemp
stockent des fichiers journaux temporaires.Le dossier
webapps
est le webroot par défaut de Tomcat et héberge toutes les applications. Le dossierwork
agit comme un cache et est utilisé pour stocker des données pendant l'exécution.
Chaque dossier à l'intérieur de webapps
est censé avoir la structure suivante.
Le fichier le plus important parmi ceux-ci est WEB-INF/web.xml
, connu sous le nom de descripteur de déploiement. Ce fichier stocke des informations sur les routes utilisées par l'application et les classes gérant ces routes.
Toutes les classes compilées utilisées par l'application doivent être stockées dans le dossier WEB-INF/classes
. Ces classes peuvent contenir une logique métier importante ainsi que des informations sensibles. Toute vulnérabilité dans ces fichiers peut entraîner une compromission totale du site web. Le dossier lib
stocke les bibliothèques nécessaires à cette application particulière. Le dossier jsp
stocke les Jakarta Server Pages (JSP), anciennement connues sous le nom de JavaServer Pages
, qui peuvent être comparées aux fichiers PHP sur un serveur Apache.
Voici un exemple de fichier web.xml.
Le fichier de configuration web.xml
ci-dessus définit un nouveau servlet nommé AdminServlet
qui est associé à la classe com.inlanefreight.api.AdminServlet
. Java utilise la notation point pour créer des noms de packages, ce qui signifie que le chemin sur le disque pour la classe définie ci-dessus serait :
classes/com/inlanefreight/api/AdminServlet.class
Ensuite, un nouveau mappage de servlet est créé pour associer les requêtes à /admin
avec AdminServlet
. Cette configuration enverra toute requête reçue pour /admin
à la classe AdminServlet.class
pour traitement. Le descripteur web.xml
contient beaucoup d'informations sensibles et est un fichier important à vérifier lors de l'exploitation d'une vulnérabilité d'inclusion de fichier local (LFI).
tomcat-users
Le fichier tomcat-users.xml
est utilisé pour autoriser ou refuser l'accès aux pages d'administration /manager
et host-manager
.
Le fichier nous montre à quoi donnent accès chacun des rôles manager-gui
, manager-script
, manager-jmx
et manager-status
. Dans cet exemple, nous pouvons voir qu'un utilisateur tomcat
avec le mot de passe tomcat
a le rôle manager-gui
, et un deuxième mot de passe faible admin
est défini pour le compte utilisateur admin
.
Références
Groupe de sécurité Try Hard
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-dae1ef8c660e0243188462f22f417bbb1a2719d3%252Ftelegram-cloud-document-1-5159108904864449420.jpg%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5a1540d4&sv=1)
Last updated