Basic Tomcat Info
Grupo de Segurança Try Hard
Evite executar com root
Para não executar o Tomcat com root, uma configuração muito comum é configurar um servidor Apache na porta 80/443 e, se o caminho solicitado corresponder a uma expressão regular, a solicitação é enviada para o Tomcat em execução em uma porta diferente.
Estrutura Padrão
A pasta
bin
armazena scripts e binários necessários para iniciar e executar um servidor Tomcat.A pasta
conf
armazena vários arquivos de configuração usados pelo Tomcat.O arquivo
tomcat-users.xml
armazena credenciais de usuário e suas funções atribuídas.A pasta
lib
contém vários arquivos JAR necessários para o funcionamento correto do Tomcat.As pastas
logs
etemp
armazenam arquivos de log temporários.A pasta
webapps
é a raiz padrão do Tomcat e hospeda todas as aplicações. A pastawork
atua como um cache e é usada para armazenar dados durante a execução.
Espera-se que cada pasta dentro de webapps
tenha a seguinte estrutura.
O arquivo mais importante entre esses é WEB-INF/web.xml
, conhecido como descritor de implantação. Este arquivo armazena informações sobre as rotas usadas pela aplicação e as classes que lidam com essas rotas.
Todas as classes compiladas usadas pela aplicação devem ser armazenadas na pasta WEB-INF/classes
. Essas classes podem conter lógica de negócios importante, bem como informações sensíveis. Qualquer vulnerabilidade nesses arquivos pode levar à comprometimento total do site. A pasta lib
armazena as bibliotecas necessárias para aquela aplicação específica. A pasta jsp
armazena Jakarta Server Pages (JSP), anteriormente conhecido como JavaServer Pages
, que pode ser comparado aos arquivos PHP em um servidor Apache.
Aqui está um exemplo do arquivo web.xml.
A configuração web.xml
acima define um novo servlet chamado AdminServlet
que está mapeado para a classe com.inlanefreight.api.AdminServlet
. Java usa a notação de ponto para criar nomes de pacotes, o que significa que o caminho no disco para a classe definida acima seria:
classes/com/inlanefreight/api/AdminServlet.class
Em seguida, é criado um novo mapeamento de servlet para mapear solicitações para /admin
com AdminServlet
. Essa configuração enviará qualquer solicitação recebida para /admin
para a classe AdminServlet.class
para processamento. O descritor web.xml
contém muitas informações sensíveis e é um arquivo importante a ser verificado ao explorar uma vulnerabilidade de Inclusão de Arquivo Local (LFI).
tomcat-users
O arquivo tomcat-users.xml
é usado para permitir ou proibir o acesso às páginas de administração /manager
e host-manager
.
O arquivo nos mostra a que cada um dos papéis manager-gui
, manager-script
, manager-jmx
e manager-status
fornece acesso. Neste exemplo, podemos ver que um usuário tomcat
com a senha tomcat
tem o papel manager-gui
, e uma segunda senha fraca admin
é definida para a conta de usuário admin
Referências
Grupo de Segurança Try Hard
Last updated