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で実行しないための一般的な設定は、ポート80/443にApacheサーバーを設定し、リクエストされたパスが正規表現に一致する場合、リクエストを異なるポートで実行されているTomcatに送信することです。
bin
フォルダーには、Tomcatサーバーを起動および実行するために必要なスクリプトとバイナリが格納されています。
conf
フォルダーには、Tomcatによって使用されるさまざまな設定ファイルが格納されています。
tomcat-users.xml
ファイルには、ユーザーの資格情報とその割り当てられた役割が格納されています。
lib
フォルダーには、Tomcatの正しい機能に必要なさまざまなJARファイルが保持されています。
logs
およびtemp
フォルダーには、一時的なログファイルが格納されています。
webapps
フォルダーはTomcatのデフォルトのウェブルートであり、すべてのアプリケーションをホストします。work
フォルダーはキャッシュとして機能し、実行時にデータを格納するために使用されます。
webapps
内の各フォルダーは、以下の構造を持つことが期待されます。
最も重要なファイルは WEB-INF/web.xml
で、これはデプロイメント記述子として知られています。このファイルは、アプリケーションで使用される ルートに関する情報 と、これらのルートを処理するクラスを保存します。
アプリケーションで使用されるすべてのコンパイル済みクラスは WEB-INF/classes
フォルダーに保存されるべきです。これらのクラスには重要なビジネスロジックや機密情報が含まれている可能性があります。これらのファイルに脆弱性があると、ウェブサイトの完全な侵害につながる可能性があります。 lib
フォルダーには、その特定のアプリケーションに必要なライブラリが保存されています。 jsp
フォルダーには、以前は JavaServer Pages
として知られていた Jakarta Server Pages (JSP) が保存されており、Apacheサーバー上のPHPファイルに比較できます。
以下は web.xml ファイルの例です。
The 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
に対しては、2つ目の弱いパスワード admin
が設定されていることがわかります。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)