Basic Tomcat Info
Try Hard Security Group
Αποφύγετε την εκτέλεση με root
Για να μην εκτελείται το Tomcat με δικαιώματα root, μια πολύ συνηθισμένη ρύθμιση είναι να οριστεί ένας διακομιστής Apache στη θύρα 80/443 και, εάν το αιτούμενο μονοπάτι ταιριάζει με έναν τυπικό εκφρασμένο όρο, το αίτημα στέλνεται στο Tomcat που τρέχει σε διαφορετική θύρα.
Προεπιλεγμένη Δομή
Ο φάκελος
bin
αποθηκεύει scripts και δυαδικά αρχεία που χρειάζονται για την εκκίνηση και λειτουργία ενός διακομιστή Tomcat.Ο φάκελος
conf
αποθηκεύει διάφορα αρχεία ρυθμίσεων που χρησιμοποιούνται από το Tomcat.Το αρχείο
tomcat-users.xml
αποθηκεύει τα διαπιστευτήρια των χρηστών και τους ρόλους που τους έχουν ανατεθεί.Ο φάκελος
lib
περιέχει τα διάφορα αρχεία JAR που χρειάζονται για τη σωστή λειτουργία του Tomcat.Οι φάκελοι
logs
καιtemp
αποθηκεύουν προσωρινά αρχεία καταγραφής.Ο φάκελος
webapps
είναι η προεπιλεγμένη ρίζα του Tomcat και φιλοξενεί όλες τις εφαρμογές. Ο φάκελοςwork
λειτουργεί ως cache και χρησιμοποιείται για την αποθήκευση δεδομένων κατά τη διάρκεια της εκτέλεσης.
Αναμένεται ότι κάθε φάκελος μέσα στον webapps
θα έχει την ακόλουθη δομή.
Το πιο σημαντικό αρχείο ανάμεσα σε αυτά είναι το WEB-INF/web.xml
, το οποίο είναι γνωστό ως τον περιγραφέα αναπτυξης. Αυτό το αρχείο αποθηκεύει πληροφορίες σχετικά με τις διαδρομές που χρησιμοποιούνται από την εφαρμογή και τις κλάσεις που χειρίζονται αυτές τις διαδρομές.
Όλες οι μεταγλωττισμένες κλάσεις που χρησιμοποιούνται από την εφαρμογή πρέπει να αποθηκεύονται στον φάκελο WEB-INF/classes
. Αυτές οι κλάσεις μπορεί να περιέχουν σημαντική επιχειρηματική λογική καθώς και ευαίσθητες πληροφορίες. Οποιαδήποτε ευπάθεια σε αυτά τα αρχεία μπορεί να οδηγήσει σε ολική διαρροή της ιστοσελίδας. Ο φάκελος lib
αποθηκεύει τις βιβλιοθήκες που χρειάζεται αυτή η συγκεκριμένη εφαρμογή. Ο φάκελος jsp
αποθηκεύει τις Jakarta Server Pages (JSP), προηγουμένως γνωστές ως JavaServer Pages
, οι οποίες μπορούν να συγκριθούν με τα αρχεία PHP σε έναν διακομιστή Apache.
Παρακάτω παρουσιάζεται ένα παράδειγμα αρχείου web.xml.
Η διαμόρφωση του web.xml
παραπάνω ορίζει ένα νέο servlet με το όνομα AdminServlet
που αντιστοιχεί στη κλάση com.inlanefreight.api.AdminServlet
. Η Java χρησιμοποιεί την τελεία για να δημιουργήσει ονόματα πακέτων, πράγμα που σημαίνει ότι η διαδρομή στο δίσκο για την παραπάνω κλάση θα είναι:
classes/com/inlanefreight/api/AdminServlet.class
Στη συνέχεια, δημιουργείται μια νέα αντιστοίχιση servlet για να αντιστοιχίσει τις αιτήσεις στο /admin
με το AdminServlet
. Αυτή η διαμόρφωση θα στέλνει οποιαδήποτε αίτηση ληφθεί για το /admin
στην κλάση AdminServlet.class
για επεξεργασία. Το αρχείο web.xml
περιέχει πολλές ευαίσθητες πληροφορίες και είναι ένα σημαντικό αρχείο για έλεγχο κατά την εκμετάλλευση μιας ευπάθειας τοπικής συμπερίληψης αρχείου (LFI).
tomcat-users
Το αρχείο tomcat-users.xml
χρησιμοποιείται για να επιτρέπει ή να απαγορεύει την πρόσβαση στις σελίδες διαχείρισης /manager
και host-manager
.
Το αρχείο μας δείχνει ποιες πρόσβαση παρέχουν οι ρόλοι manager-gui
, manager-script
, manager-jmx
και manager-status
. Σε αυτό το παράδειγμα, βλέπουμε ότι ένας χρήστης με όνομα tomcat
και κωδικό tomcat
έχει τον ρόλο manager-gui
, και ένας δεύτερος αδύναμος κωδικός admin
έχει οριστεί για τον λογαριασμό χρήστη admin
.
Αναφορές
Ομάδα Ασφάλειας Try Hard
Last updated