mcpField
C
competition-request-normalization-smuggling

competition-request-normalization-smuggling

github.com/zhaoxuya520Security43.7k94 installsUpdated 5w ago
Repository

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

  1. 01Map parsing and routing boundaries
  2. 02Compare normalization and framing
  3. 03Prove parser differentials with paired requests
  4. 04Reduce findings to a minimal smuggling chain
  5. 05Preserve replayable evidence

Use cases

  1. 01Investigating proxy-to-backend parsing mismatches
  2. 02Testing path and header normalization differences
  3. 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-smuggling

After installing, type/competition-request-normalization-smugglingin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlreferences/request-normalization-smuggling.md

Details

From the project README

Competition 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

  1. Map every parsing hop: client-facing proxy, gateway, app server, and downstream service.
  2. Record path normalization, header canonicalization, transfer framing, and host derivation at each hop.
  3. Capture one accepted baseline request and one differential request with minimal delta.
  4. Prove which hop interprets the request differently.
  5. 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.md for 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

Comments

Markdown supported