Basic Tomcat Info
避免以 root 身份运行
为了不以 root 身份运行 Tomcat,一个非常常见的配置是在 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
文件夹存储 Jakarta Server Pages (JSP),以前称为 JavaServer Pages
,可以与 Apache 服务器上的 PHP 文件进行比较。
这是一个 web.xml 文件的示例。
The web.xml
配置定义了一个 名为 AdminServlet
的新 servlet,它映射到 类 com.inlanefreight.api.AdminServlet
。Java 使用点表示法来创建包名,这意味着上述定义的类在磁盘上的路径为:
classes/com/inlanefreight/api/AdminServlet.class
接下来,创建一个新的 servlet 映射,以 将请求映射到 /admin
与 AdminServlet
。此配置将把收到的任何 /admin
请求发送到 AdminServlet.class
类进行处理。 web.xml
描述符包含大量 敏感信息,在利用 Local File Inclusion (LFI) 漏洞 时,这是一个重要的文件需要检查。
tomcat-users
tomcat-users.xml
文件用于 允许 或拒绝访问 /manager
和 host-manager
管理页面。
该文件向我们展示了每个角色 manager-gui
、manager-script
、manager-jmx
和 manager-status
提供的访问权限。在这个例子中,我们可以看到用户 tomcat
的密码是 tomcat
,并且该用户具有 manager-gui
角色,而用户账户 admin
设置了第二个弱密码 admin
。
参考文献
Last updated