$npx -y skills add transilienceai/communitytools --skill backendBackend tech-stack identification — web servers, runtimes, languages, frameworks, databases, APIs, and CMS via HTTP headers, cookies, error pages, and API discovery.
| 1 | # Backend Tech-Stack Identification |
| 2 | |
| 3 | ## Scope |
| 4 | |
| 5 | Identify server-side technologies: web servers (nginx, Apache, IIS), runtimes (Node, Python, PHP, Ruby, Java, .NET), backend frameworks (Express, Django, Flask, Rails, Laravel, Spring, ASP.NET), databases (Postgres, MySQL, Mongo, Redis), CMS (WordPress, Drupal, Magento), and API surfaces (REST, GraphQL, OpenAPI). |
| 6 | |
| 7 | ## Signals (input) |
| 8 | |
| 9 | - HTTP response headers — `Server`, `X-Powered-By`, `X-AspNet-Version`, `X-Drupal-*`, `X-Generator`, etc. |
| 10 | - Cookies — session-name fingerprints (`PHPSESSID`, `JSESSIONID`, `_rails_session`, ...) |
| 11 | - Error page bodies (404, 500) |
| 12 | - Path patterns hinting CMS (`/wp-admin/`, `/sites/default/`) |
| 13 | - API subdomains and OpenAPI/Swagger/GraphQL endpoints |
| 14 | - `robots.txt` directives |
| 15 | |
| 16 | ## Inferences (output) |
| 17 | |
| 18 | - Web server + version |
| 19 | - Runtime / language + version |
| 20 | - Backend framework (with implied runtime) |
| 21 | - CMS + version |
| 22 | - Database (often indirect — via ORM dependency or hosted-DB DNS) |
| 23 | - API style (REST/GraphQL/gRPC) and authentication scheme |
| 24 | |
| 25 | ## Techniques |
| 26 | |
| 27 | See [reference/patterns.md](reference/patterns.md). |
| 28 | |
| 29 | ## When to use |
| 30 | |
| 31 | - Phase 2/3 of a tech-stack OSINT engagement |
| 32 | - Mapping server-side attack surface (RCE, SSRF, deserialization) |
| 33 | - CVE matching by server + version |
| 34 | - Locating GraphQL / OpenAPI for follow-on api-security testing |