Skills

Ssrf To Internal Service Breach

Escalate a suspected or confirmed Server-Side Request Forgery into proof of...

Install

npx skills add vigolium/vigolium --skill ssrf-to-internal-service-breach -g -a claude-code -y
Repository
vigolium/vigolium1.1k
Category
Documents
Updated
10d ago
License
MIT
Context cost
Lightabout 1,450 tokens
Runs scripts
No, instructions only

What it does

Escalate a suspected or confirmed Server-Side Request Forgery into proof of internal-service access, cloud metadata, internal-only APIs, database greetings, or redacted-but-fetchable HTTP. Use when a parameter takes a URL (image proxy, webhook, fetcher, URL preview, PDF render) and the server reaches outbound on your behalf, or when an audit finding tags CWE-918. Confirms reachability via OAST, then walks targeted internal endpoints, ending with a finding sized by the highest-value asset reached.

SSRF → Internal Service Breach

You have a parameter or endpoint that makes the server fetch a URL of your choosing. Your job is to prove the server reaches an internal target you, the external user, can't. Persist a finding sized by what you actually reached, not by the existence of the SSRF.

When this skill applies

  • A request parameter is a URL: ?url=, ?image=, ?webhook=, ?callback=, ?fetch=, ?source=, ?preview=.
  • An endpoint clearly fetches on behalf of the user: PDF renderers, link preview / OG-tag fetchers, OAuth callback verifiers, image thumbnailers, RSS importers, SSO redirect handlers.
  • The response includes a fetched body excerpt, content-length, status, error string, or response time that varies with the URL you supply.
  • Audit finding: CWE-918.

Workflow

1. Confirm outbound reachability

Mint a canary with oast_mint (kind: ssrf-probe). Inject the canary URL into the suspect parameter via replay_request. Poll with oast_poll for 30-60 seconds.

  • HTTP callback observed → server reaches your URL via HTTP. SSRF confirmed with HTTP egress.
  • DNS callback only → SSRF confirmed but DNS-only (a strict egress filter dropped the HTTP request after the lookup). Still useful as exfil channel, but limits what you can do.
  • No callback → either no SSRF, or filtered, or no internet egress from the server. Move to step 2's targeted probes anyway, some SSRFs only work against internal hosts.

remember the result as ssrf-egress.

2. Probe metadata services

Cloud metadata is the highest-impact target. Try in order; stop on the first hit:

Read the whole SKILL.md on GitHub

More in Documents