DEV Community

zeroprotocol-sec
zeroprotocol-sec

Posted on Originally published at zeroprotocolcyber.substack.com

Application Mapping(PART-2)

Hidden Content Discovery & Intelligent Prediction

1. Conceptual Blueprint: Why Hidden Content Exists

Leaving hidden files on a server is similar to having unmapped maintenance rooms in a physical building. Standard users navigate exclusively through the front door (the UI), whereas penetration testers actively search for unlinked rear entrances.

Root Causes Checklist:

  • Developer Artifacts: Code editor auto-save files and temporary swap files (.tmp, ~).
  • Environment Drift: Debug mode flags left enabled in production environments.
  • Access Control Oversight: Functionality hidden purely via UI elements (e.g., CSS display:none) without backend authorization checks.
  • Legacy Leftovers: Deprecated API versions (/v1/) remaining active after newer releases (/v2/).

2. High-Value Targets (Cheat Sheet)

Target Category What It Exposes High-Risk Examples
Source Leaks Raw application source code, embedded credentials config.php.bak, index.php.old, app.src
System Archives Full codebase snapshots, SQL dumps, SSL certificates backup.tar.gz, db_dump.sql, site-v1.zip
Sensitive Logs Active session tokens, internal parameters, user activity debug.log, access.log, trace.axd
OS Leftovers Directory structures, system file listings .DS_Store (macOS), Thumbs.db (Windows)
Config Archives Database connection strings, API keys, environment settings web.config, settings.json, .env

3. Decoding HTTP Status Codes (Pen-Tester Lens)

During automated discovery, HTTP status codes often carry tactical meanings that differ from standard RFC definitions:

  • 200 OK: Direct Hit (Verify response body size and content to filter out soft 404s).
  • 302 / 307 Redirect:
    • Redirecting to /login $\rightarrow$ Target exists, but requires authentication.
    • Redirecting to /error $\rightarrow$ Target is likely invalid or nonexistent.
  • 401 Unauthorized: Resource exists; requires valid user credentials.
  • 403 Forbidden: Directory listing disabled or access restricted — Strong indicator that the path exists.
  • 500 Internal Error: Required parameter or header missing, but the application attempted processing — Resource exists.

4. Brute-Force vs. Predictive Discovery (Comparison)

5. Pattern-Based Discovery: Building Custom Attack Lists

Instead of relying solely on generic wordlists, this technique analyzes the application's unique naming conventions to construct high-probability attack vectors.

Matrix 1: Action-Object Permutations

If a discovered endpoint is GetInvoice.php:

Generated Attack Vectors: AddInvoice.php, EditInvoice.php, DeleteInvoice.php, ExportInvoice.php.

Matrix 2: Contextual Mutations

  • Case Sensitivity Matching: If the application enforces CamelCase (e.g., /UserRole/), test /AdminRole/ instead of a generic lowercase /admin/.
  • Sequence Extrapolation:
    • Endpoint: /api/v1/download/2023/ $\rightarrow$ Test: /api/v1/download/2024/, /api/v0/
    • Media ID: /assets/img_101.jpg $\rightarrow$ Test Range: img_100 to img_120.

6. Client-Side Asset Inspection Workflow

Analyze client-side assets to uncover hidden server-side routes and functionality:

  1. DOM & HTML Inspection:
    • Hidden input parameters (<input type="hidden" name="debug" value="true">).
    • Developer HTML comments (<!-- TODO: Remove staging link /stage-login -->).
  2. JavaScript File Reverse-Engineering:
    • Extract API routes embedded within JS bundles (/api/internal/v1/).
    • Identify unlinked UI components or feature flags disabled for low-privilege roles.
  3. Combinatorial Generator Logic:
    • Target Path: /auth/
    • Stems: [login, profile, config]
    • Extensions: [.php, .php.bak, .inc]
    • Combinations: /auth/profile.inc, /auth/config.php.bak

7. Step-by-Step Execution Workflow (Recursive Cycle)

Terminology Reference

  • Brute-Force Discovery: Using pre-built or static global wordlists to locate unlinked directories and files.
  • Predictive Enumeration / Pattern-Based Discovery: Decoding existing structural patterns within an application to make intelligent, high-probability guesses for hidden content discovery.

Top comments (2)

Collapse
 
zeroprotocol-sec profile image
zeroprotocol-sec • Edited

please give any suggestion if any improvement in this topic only

Collapse
 
zeroprotocol-sec profile image
zeroprotocol-sec

Please leave a like whenever you can. ❤️ Your one like means a lot to me and gives me the motivation to keep creating. 🙌