Skip to main content
ClaudeWave
Skill282 estrellas del repoactualizado yesterday

pentest-http-smuggling

This Claude Code skill detects and exploits HTTP request smuggling vulnerabilities by identifying parsing discrepancies between front-end proxies and back-end servers. Use it when conducting authorized penetration tests on web applications with reverse proxies, CDNs, or load balancers to demonstrate cache poisoning, request hijacking, and security control bypass risks through CL.TE, TE.CL, HTTP/2 downgrade, and host header injection techniques.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/jd-opensource/JoySafeter /tmp/pentest-http-smuggling && cp -r /tmp/pentest-http-smuggling/skills/pentest-http-smuggling ~/.claude/skills/pentest-http-smuggling
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Pentest HTTP Smuggling

## Purpose
Detect and exploit discrepancies between front-end proxies and back-end servers in HTTP request parsing. These attacks bypass security controls, poison caches, and hijack requests — entirely absent from standard taint analysis pipelines.

## Prerequisites

### Authorization Requirements
- **Written authorization** with explicit scope for protocol-level testing
- **Infrastructure awareness** — identify all reverse proxies, CDNs, load balancers in path
- **Rollback plan** for cache poisoning tests (CDN purge access)
- **Emergency contacts** for infrastructure team (smuggling can affect other users)

### Environment Setup
- Python 3.x with raw socket capability for crafted HTTP requests
- Burp Suite Professional with HTTP Request Smuggler extension
- curl compiled with HTTP/2 support (`--http2-prior-knowledge`)
- Turbo Intruder for timing-sensitive attacks
- Network capture tool (Wireshark/tcpdump) for response analysis

## Core Workflow
1. **Stack Fingerprinting**: Identify reverse proxies (nginx, HAProxy, Cloudflare, AWS ALB), CDNs, load balancers. Determine HTTP version support (HTTP/1.1, HTTP/2) and parsing behavior.
2. **CL.TE Smuggling**: Craft requests where front-end uses Content-Length and back-end uses Transfer-Encoding. Observe differential parsing and request boundary confusion.
3. **TE.CL Smuggling**: Reverse scenario — front-end uses Transfer-Encoding, back-end uses Content-Length. Test with obfuscated TE headers.
4. **TE.TE Smuggling**: Both sides use Transfer-Encoding but one can be confused with header obfuscation (capitalization, whitespace, duplicate headers).
5. **HTTP/2 Downgrade**: Exploit H2-to-H1 translation at reverse proxies. Header injection via pseudo-headers, CRLF injection in H2 headers, request splitting through H2 CONTINUATION frames.
6. **Cache Poisoning**: Poison cached responses with attacker-controlled content. Test cache key vs cache content discrepancies. Verify with different client sessions.
7. **Host Header Attacks**: Host header injection, password reset poisoning, routing-based SSRF, web cache poisoning via ambiguous Host headers (WSTG-INPV-17).
8. **Impact Validation**: Demonstrate cache poisoning, credential theft, request hijacking, or security control bypass as PoC.

## WSTG Coverage

| WSTG ID | Test Name | Status |
|---------|-----------|--------|
| WSTG-INPV-15 | HTTP Request Smuggling | ✅ |
| WSTG-INPV-17 | Host Header Injection | ✅ |

## Tool Categories

| Category | Tools | Purpose |
|----------|-------|---------|
| Smuggling Detection | smuggler.py, HTTP Request Smuggler (Burp) | Automated CL.TE/TE.CL detection |
| HTTP/2 Testing | h2csmuggler, curl --http2, nghttp | H2 downgrade and desync attacks |
| Timing Attacks | Turbo Intruder | Microsecond-precision request timing |
| Raw Requests | Python sockets, netcat | Crafted malformed HTTP requests |
| Cache Analysis | curl, custom scripts | Cache behavior verification |
| Traffic Capture | Wireshark, tcpdump | Response boundary analysis |

## References
- `references/tools.md` - Tool function signatures and parameters
- `references/workflows.md` - Attack pattern definitions and test vectors