Basic Tomcat Info
Last updated
Last updated
AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Tomcat'i root ile çalıştırmamak için çok yaygın bir yapılandırma, port 80/443'te bir Apache sunucusu ayarlamak ve eğer istenen yol bir regexp ile eşleşiyorsa, isteğin farklı bir portta çalışan Tomcat'e gönderilmesidir.
bin
klasörü, bir Tomcat sunucusunu başlatmak ve çalıştırmak için gereken betikleri ve ikili dosyaları saklar.
conf
klasörü, Tomcat tarafından kullanılan çeşitli yapılandırma dosyalarını saklar.
tomcat-users.xml
dosyası, kullanıcı kimlik bilgilerini ve atanan rollerini saklar.
lib
klasörü, Tomcat'in doğru çalışması için gereken çeşitli JAR dosyalarını barındırır.
logs
ve temp
klasörleri, geçici günlük dosyalarını saklar.
webapps
klasörü, Tomcat'in varsayılan web köküdür ve tüm uygulamaları barındırır. work
klasörü bir önbellek görevi görür ve çalışma zamanı sırasında verileri saklamak için kullanılır.
webapps
içindeki her klasörün aşağıdaki yapıya sahip olması beklenir.
En önemli dosya WEB-INF/web.xml
'dir, bu dosya dağıtım tanımlayıcısı olarak bilinir. Bu dosya, uygulama tarafından kullanılan yollar hakkında bilgi ve bu yolları yöneten sınıfları saklar.
Uygulama tarafından kullanılan tüm derlenmiş sınıflar WEB-INF/classes
klasöründe saklanmalıdır. Bu sınıflar önemli iş mantığı ve hassas bilgiler içerebilir. Bu dosyalardaki herhangi bir zafiyet, web sitesinin tamamen tehlikeye girmesine yol açabilir. lib
klasörü, o belirli uygulama için gereken kütüphaneleri saklar. jsp
klasörü, Jakarta Server Pages (JSP) olarak bilinen, daha önce JavaServer Pages
olarak adlandırılan dosyaları saklar; bu dosyalar, bir Apache sunucusundaki PHP dosyalarıyla karşılaştırılabilir.
İşte bir örnek web.xml dosyası.
The web.xml
yapılandırması yukarıda AdminServlet
adında yeni bir servlet tanımlar ve bu servlet com.inlanefreight.api.AdminServlet
sınıfına eşlenmiştir. Java, paket adları oluşturmak için nokta notasyonunu kullanır, bu da yukarıda tanımlanan sınıfın disk üzerindeki yolunun:
classes/com/inlanefreight/api/AdminServlet.class
olacağı anlamına gelir.
Sonraki adımda, /admin
isteklerini AdminServlet
ile eşlemek için yeni bir servlet eşlemesi oluşturulur. Bu yapılandırma, /admin
için alınan herhangi bir isteği işlenmesi için AdminServlet.class
sınıfına gönderecektir. web.xml
tanımlayıcısı birçok hassas bilgi içerir ve Local File Inclusion (LFI) zafiyetini kullanırken kontrol edilmesi gereken önemli bir dosyadır.
tomcat-users.xml
dosyası, /manager
ve host-manager
yönetici sayfalarına erişimi izin vermek veya izin vermemek için kullanılır.
Dosya, manager-gui
, manager-script
, manager-jmx
ve manager-status
rollerinin neye erişim sağladığını gösteriyor. Bu örnekte, tomcat
kullanıcı adı ve tomcat
şifresi olan bir kullanıcının manager-gui
rolüne sahip olduğunu ve admin
kullanıcı hesabı için ikinci bir zayıf şifre olan admin
belirlendiğini görebiliriz.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)