Overview
The application's client-side code is one of the richest sources of endpoint and parameter clues. This capstone lesson covers client-side clues and consolidates endpoint discovery.
Learning objectives
- Explain client-side code as a discovery source.
- Describe extracting endpoints, parameters, and clues from it.
- Consolidate the endpoint-discovery module.
Core concept
Client-side clues come from the code that runs in the browser — primarily JavaScript, plus HTML and other assets. Modern applications' front-ends contain the endpoints they call, the parameters they send, references to APIs, and sometimes comments or values that reveal hidden functionality or even secrets. Because this code is served to the browser, analyzing it is passive and often reveals endpoints/parameters that are not visible in the UI or documentation — making it one of the most productive endpoint-discovery sources for modern, JS-heavy applications.
How it works
The researcher analyzes the application's client-side code (especially JavaScript) to extract: the API/endpoint URLs the front-end calls (including hidden ones), the parameters it sends, references to functionality not exposed in the UI, and any revealing comments or exposed values. This directly enriches the endpoint and parameter maps, frequently surfacing surface that crawling, probing, and docs miss. Discovered endpoints/parameters are verified in-scope and fed into testing. Because the front-end must "know" the endpoints it uses, its code is an authoritative source of the real API/endpoint surface — a key reason client-side analysis is emphasized.
Practical example
Analyzing an in-scope application's JavaScript, the researcher extracts several API endpoints the front-end calls (including two not in the UI or docs), the parameters each expects, and a comment referencing an internal feature. These enrich the endpoint/parameter map with surface that other methods missed. Verified in-scope, they become testing targets — the hidden endpoints especially valuable. Client-side analysis delivered a substantial portion of the real endpoint surface, consolidating what routes, parameters, APIs, and docs had begun.
Cybersecurity relevance
Client-side code is a top endpoint-discovery source in modern applications: it authoritatively reveals the endpoints and parameters the front-end uses (including hidden ones) and sometimes exposed secrets — a common source of both expanded surface and findings, mirroring attacker analysis. This consolidates endpoint discovery — routes, parameters, APIs, documentation, and client-side clues — which together map the application's full, detailed, in-scope surface (endpoints + parameters) that the vulnerability-hunting modules will test. For defenders, it underscores not exposing secrets/hidden functionality in client-side code. Thorough endpoint discovery, especially via client-side analysis, is foundational to effective hunting.
Common mistakes
- Not analyzing client-side code, missing hidden endpoints/parameters and exposed values.
- Overlooking exposed secrets in client-side code (a potential finding).
- Treating client-side-discovered endpoints as in-scope without verifying scope.
Key takeaways
- Client-side code (esp. JavaScript) reveals the endpoints and parameters the front-end uses (including hidden ones) and sometimes secrets — a passive, authoritative, high-yield source.
- Extract endpoints/parameters/references from it to enrich the surface map, verifying scope; it often surfaces what crawling, probing, and docs miss.
- It consolidates endpoint discovery (routes, parameters, APIs, documentation, client-side clues) into the full, detailed, in-scope surface for hunting; defenders shouldn't expose secrets/hidden functionality client-side.
Check your understanding
- Why is client-side code an authoritative, high-yield source for discovering endpoints and parameters?
- What does endpoint discovery, consolidated, provide as the foundation for vulnerability hunting?

