competition-request-normalization-smuggling
About competition-request-normalization-smuggling
A CTF security skill for tracing request-interpretation differences across proxies, middleware, and backend parsers. It is intended as a downstream specialization after `$ctf-sandbox-orchestrator` establishes the sandbox context.
Key features
- 01Map parsing and routing boundaries
- 02Compare normalization and framing
- 03Prove parser differentials with paired requests
- 04Reduce findings to a minimal smuggling chain
- 05Preserve replayable evidence
Use cases
- 01Investigating proxy-to-backend parsing mismatches
- 02Testing path and header normalization differences
- 03Showing unintended routing from transfer-framing differences
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-request-normalization-smugglingAfter installing, type/competition-request-normalization-smugglingin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlreferences/request-normalization-smuggling.md
Details
From the project READMECompetition Request Normalization Smuggling
Use this skill only as a downstream specialization after $ctf-sandbox-orchestrator is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to $ctf-sandbox-orchestrator first.
Use this skill when request interpretation changes between proxy, middleware, and backend parser layers.
Reply in Simplified Chinese unless the user explicitly requests English.
Quick Start
- Map every parsing hop: client-facing proxy, gateway, app server, and downstream service.
- Record path normalization, header canonicalization, transfer framing, and host derivation at each hop.
- Capture one accepted baseline request and one differential request with minimal delta.
- Prove which hop interprets the request differently.
- Reproduce one minimal differential path that yields decisive behavior.
Workflow
1. Map Parse And Routing Boundaries
- Record
Host, forwarded headers, path decoding, slash collapsing, dot-segment handling, and case behavior. - Note
Content-Length,Transfer-Encoding, chunk framing, and connection reuse behavior when relevant. - Keep edge parser and backend parser decisions side by side.
2. Prove Differential Interpretation
- Build paired requests that differ in one canonicalization dimension only.
- Capture proxy logs, backend logs, route match, and downstream request shape.
- Show where route, auth scope, or body boundary diverges.
3. Reduce To Decisive Smuggling Chain
- Compress to: crafted request -> parser differential across hops -> unintended routed request or hidden endpoint reach -> resulting effect.
- State whether root cause is path normalization drift, header ambiguity, transfer framing differential, or host-derivation confusion.
- If the chain becomes primarily runtime routing without framing tricks, hand off to runtime routing skill.
Read This Reference
- Load
references/request-normalization-smuggling.mdfor parse-differential checklist and evidence packaging.
What To Preserve
- Raw request pairs, hop-by-hop interpretation, and final routed target
- Exact normalization or framing delta that flips behavior
- One minimal replayable differential request path