/crlf
Test for CRLF / HTTP response-splitting and host-header injection — Set-Cookie injection, cache poisoning, reset-poisoning. Usage: /crlf <url> [--host-header] | /crlf -l urls.txt
$ npx -y skills add shuvonsec/claude-bug-bounty --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/crlf
Context preview
What this command does when you run it.
Test for CRLF / HTTP response-splitting and host-header injection — Set-Cookie injection, cache poisoning, reset-poisoning. Usage: /crlf <url> [--host-header] | /crlf -l urls.txt
Command definition
crlf.mddescription: Test for CRLF / HTTP response-splitting and host-header injection — Set-Cookie injection, cache poisoning, reset-poisoning. Usage: /crlf <url> [--host-header] | /crlf -l urls.txt
/crlf
Inject carriage-return/line-feed sequences into the path/query (and optionally the Host/forwarding headers) and check whether an attacker-controlled header lands in the **response** — proof of CRLF injection.
Usage
/crlf "https://target.com/redirect?url=x"
/crlf https://target.com/ --host-header
/crlf -l recon/target.com/urls/params.txt --json
Run directly:
tools/crlf_scanner.py "https://target.com/r?u=x" --host-header
What it injects
| Vector | Payloads | |---|---| | Encoded CRLF | `%0d%0a`, `%0a`, `%0d`, `%250d%250a` (double-encoded) | | Header fold | `%0d%0a%20Set-Cookie:...` | | UTF-8 bypass | `%E5%98%8A%E5%98%8D` (overlong CR/LF that defeats naive `\r\n` filters) | | IIS unicode | `%u000d%u000a` | | Host-header | `Host: evil`, `X-Forwarded-Host`, `Forwarded: host=`, CRLF-in-Host |
Detection canary: the payloads try to inject `Set-Cookie: crlftest=1`. If that header appears in the response, it's confirmed.
Impact
- **Set-Cookie injection** → session fixation.
- **Injected `Location`** → open redirect / OAuth token theft.
- **Injected body** → reflected XSS that survives CSP host allowlists.
- **Host-header injection** → password-reset poisoning (attacker host in reset link), cache poisoning.
Note
Python's `urllib` refuses raw `\r\n` in a URL (it protects you), so the **encoded** variants are what actually go on the wire — that's intended. The host-header path also flags when your attacker host is reflected in a `Location` response header (reset-poisoning signal) even without a full CRLF.
Read more
description: Test for CRLF / HTTP response-splitting and host-header injection — Set-Cookie injection, cache poisoning, reset-poisoning. Usage: /crlf <url> [--host-header] | /crlf -l urls.txt
/crlf
Inject carriage-return/line-feed sequences into the path/query (and optionally the Host/forwarding headers) and check whether an attacker-controlled header lands in the **response** — proof of CRLF injection.
Usage
/crlf "https://target.com/redirect?url=x" /crlf https://target.com/ --host-header /crlf -l recon/target.com/urls/params.txt --json
Run directly:
tools/crlf_scanner.py "https://target.com/r?u=x" --host-header
What it injects
| Vector | Payloads | |---|---| | Encoded CRLF | `%0d%0a`, `%0a`, `%0d`, `%250d%250a` (double-encoded) | | Header fold | `%0d%0a%20Set-Cookie:...` | | UTF-8 bypass | `%E5%98%8A%E5%98%8D` (overlong CR/LF that defeats naive `\r\n` filters) | | IIS unicode | `%u000d%u000a` | | Host-header | `Host: evil`, `X-Forwarded-Host`, `Forwarded: host=`, CRLF-in-Host |
Detection canary: the payloads try to inject `Set-Cookie: crlftest=1`. If that header appears in the response, it's confirmed.
Impact
- **Set-Cookie injection** → session fixation.
- **Injected `Location`** → open redirect / OAuth token theft.
- **Injected body** → reflected XSS that survives CSP host allowlists.
- **Host-header injection** → password-reset poisoning (attacker host in reset link), cache poisoning.
Note
Python's `urllib` refuses raw `\r\n` in a URL (it protects you), so the **encoded** variants are what actually go on the wire — that's intended. The host-header path also flags when your attacker host is reflected in a `Location` response header (reset-poisoning signal) even without a full CRLF.
AI-powered bug bounty hunting from your terminal - recon, 20 vuln classes, autonomous hunting, and report generation. All inside Claude Code.
Repo: shuvonsec/claude-bug-bounty
Other commands on claude-bug-bounty.
- /arsenal
Show which external bug-bounty tools are installed on this machine and print install hints for the missing ones. Curated from high-signal repos. Use to bootstrap a fresh box or audit which optional capabilities are wired in. Usage: /arsenal | /arsenal <tool-name>
Open command - /autopilot
Run autonomous hunt loop on a target — scope check → recon → rank surface → hunt → validate → report with configurable checkpoints. Usage: /autopilot target.com [--paranoid|--normal|--yolo]
Open command - /breach-check
HIBP k-anonymity check on a password wordlist. Enriches each password with its breach count, ranks DESC. Free API (no key), only first 5 chars of SHA-1 sent. Output -> <input>-ranked.txt. Usage /breach-check <wordlist> [--min-count N] [--max-count N] [--with-counts]
Open command - /bypass-403
Probe a 403/401 endpoint with the most-paid bypass tricks (header injection, path encoding, method swap, WAF fingerprint, vendor-specific). Wraps byp4xx when installed; otherwise runs a built-in matrix of 38+ techniques. Usage: /bypass-403 <url> | /bypass-403 -l <urls-file>
Open command - /chain
Build an exploit chain — given bug A, finds B and C to combine for higher severity and payout. Knows common chain patterns: IDOR→ATO, SSRF→cloud metadata, XSS→ATO, open redirect→OAuth theft, S3→bundle→secret→OAuth. Usage: /chain
Open command - /cloud-recon
Sweep cloud assets for a target — public S3/Azure/GCP buckets via S3Scanner and cloud_enum, plus CloudFlare-bypassed origin IPs via CloudFail (or built-in DNS-history fallback). Use --keyword for storage discovery and --cf-bypass to find an origin IP behind CloudFlare. Usage:
Open command

