Tomcat HTTP Enumeration
Tomcat typically runs HTTP on port 8080 and HTTPS on 8443 alongside the AJP connector on 8009. HTTP enumeration extracts the exact Tomcat version from error pages and headers, identifies whether the manager application is deployed, and maps deployed web application contexts. The version is the critical signal — it determines which CVEs apply and whether Ghostcat (CVE-2020-1938) is exploitable via the AJP connector.
Service Detection
8009/tcp open ajp13 Apache Jserv (Protocol v1.3) 8080/tcp open http Apache Tomcat 9.0.31 8443/tcp open ssl/http Apache Tomcat 9.0.31
Version Extraction via Error Page
Tomcat's default error page discloses the exact version. A non-existent path triggers a 404 that contains it:
<h3>Apache Tomcat/9.0.31</h3>
Server: Apache-Coyote/1.1
Cross-reference the version against Ghostcat affected versions immediately. Tomcat 9.0.31 and below, 8.5.51 and below, and 7.0.100 and below are all vulnerable to CVE-2020-1938.
Manager and Host Manager Discovery
401 /manager/html 401 /manager/status 401 /manager/text 401 /host-manager/html 404 /admin
401 on manager paths confirms the manager is deployed and requires authentication. Move to Tomcat manager testing to attempt default credentials.
Default Application Discovery
Tomcat ships with default applications that should be removed in production:
200 /docs/ 200 /examples/ 200 /examples/jsp/ 404 /ROOT/
/examples present in production is a finding — the JSP examples include interactive forms that can be used for reconnaissance and the servlet examples sometimes expose request processing internals.
Deployed Web Application Enumeration
Enumerate deployed applications via the manager status endpoint without needing manager credentials:
Explain command
| dir | Use directory/file brute-forcing mode. |
| -u | Target URL to enumerate. |
| http://$TARGET_IP:8080/ | Target base URL with host IP and port 8080. |
| -w | Specify the wordlist file path to use. |
| /usr/share/seclists/Discovery/Web-Content/tomcat.txt | Wordlist tailored for Apache Tomcat path discovery. |
| --random-agent | Send a random User-Agent header with each request. |
References
-
Apache Tomcat Securitytomcat.apache.org/security.html (opens in new tab)
Security advisories and fixed version reference per branch
Was this helpful?
Your feedback helps improve this page.