Basic Tomcat Info
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Щоб не запускати Tomcat з правами root, дуже поширеною конфігурацією є налаштування сервера Apache на порту 80/443, і якщо запитуваний шлях відповідає регулярному виразу, запит надсилається до Tomcat, що працює на іншому порту.
Папка bin
зберігає скрипти та двійкові файли, необхідні для запуску та роботи сервера Tomcat.
Папка conf
зберігає різні конфігураційні файли, які використовуються Tomcat.
Файл tomcat-users.xml
зберігає облікові дані користувачів та їх призначені ролі.
Папка lib
містить різні JAR-файли, необхідні для коректного функціонування Tomcat.
Папки logs
та temp
зберігають тимчасові файли журналів.
Папка webapps
є стандартним веб-коренем Tomcat і містить всі додатки. Папка work
діє як кеш і використовується для зберігання даних під час виконання.
Кожна папка всередині webapps
повинна мати таку структуру.
Найважливішим файлом серед цих є WEB-INF/web.xml
, який відомий як дескриптор розгортання. Цей файл зберігає інформацію про маршрути, які використовуються додатком, та класи, що обробляють ці маршрути.
Усі скомпільовані класи, що використовуються додатком, повинні зберігатися у папці WEB-INF/classes
. Ці класи можуть містити важливу бізнес-логіку, а також чутливу інформацію. Будь-яка вразливість у цих файлах може призвести до повного компромісу веб-сайту. Папка lib
зберігає бібліотеки, необхідні для цього конкретного додатку. Папка jsp
зберігає Jakarta Server Pages (JSP), раніше відомі як JavaServer Pages
, які можна порівняти з PHP-файлами на сервері Apache.
Ось приклад web.xml файлу.
Конфігурація web.xml
вище визначає новий сервлет з ім'ям AdminServlet
, який відображається на клас com.inlanefreight.api.AdminServlet
. Java використовує крапкову нотацію для створення імен пакетів, що означає, що шлях на диску для вказаного вище класу буде:
classes/com/inlanefreight/api/AdminServlet.class
Далі створюється нове відображення сервлета для відображення запитів на /admin
з AdminServlet
. Ця конфігурація надішле будь-який запит, отриманий для /admin
до класу AdminServlet.class
для обробки. Описник web.xml
містить багато чутливої інформації і є важливим файлом для перевірки при використанні вразливості Local File Inclusion (LFI).
Файл tomcat-users.xml
використовується для дозволу або заборони доступу до адмінських сторінок /manager
та host-manager
.
Файл показує, до чого надають доступ кожна з ролей manager-gui
, manager-script
, manager-jmx
та manager-status
. У цьому прикладі ми можемо бачити, що користувач tomcat
з паролем tomcat
має роль manager-gui
, а для облікового запису користувача admin
встановлено другий слабкий пароль admin
.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)