testing-request-smuggling

Solid

Test whether a chain of HTTP servers disagrees about where one request ends and the next begins, letting an attacker smuggle a request past the front end into the back end. Covers front-end and back-end desync from conflicting length signals, connection-reuse poisoning, single-packet and timing detection, and adjacent boundary confusion where a proxy and origin parse framing differently. Use when reviewing a reverse proxy, load balancer, CDN, or any multi-hop HTTP path where two parsers sit in series. The bug is a disagreement between parsers, not one flaw.

AI & Automation 4 stars 1 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Testing request smuggling: the bug is between two servers When two HTTP servers sit in series and parse a request's boundaries differently, the front end forwards what it thinks is one request while the back end sees two, and the smuggled second request is attributed to the next client on the reused connection. That desync lets an attacker prefix a victim's request, bypass front-end controls, poison the connection, and capture other users' traffic. The bug is a disagreement between parsers, not a single flaw in one. ## When to use - You are reviewing a reverse proxy, load balancer, CDN, or gateway in front of an origin. - Requests pass through more than one HTTP parser in series. - Connections between hops are kept alive and shared across clients. ## Scope check Test chains you own or are authorized to test, and keep every probe on your own traffic. Do not target other users' live requests. If you can't name the authorization, stop. ## The loop 1. **Map the server chain and the reused connections.** Identify every hop a request passes through (edge, proxy, balancer, cache, origin) and where connections between hops are kept alive and shared across clients. A desync only bites where a downstream connection is reused for another user, so map that reuse first. 2. **Find conflicting length signals.** A request's body length can be stated more than one way, and smuggling happens when two hops resolve a conflict differently: one honors one signal, the oth...

Details

Author
UnboundCompute
Repository
UnboundCompute/security-agent-skills
Created
5 days ago
Last Updated
yesterday
Language
N/A
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

hunt-http-smuggling

Hunt HTTP request smuggling (CL.TE, TE.CL, H2.CL, H2.TE). Cause: front-end proxy and back-end server disagree on where one request ends and the next begins (Content-Length vs Transfer-Encoding header parsing inconsistency). CL.TE: front-end uses CL, back uses TE → smuggle by sending TE: chunked but with body that fits CL count. TE.CL: opposite. H2.CL: HTTP/2 downgrade, smuggle CL into HTTP/1.1 back-end. Detection tools: Burp HTTP Request Smuggler extension, smuggler.py, h2csmuggler. Confirm: time-delay technique (smuggled GET with 30s timeout) — if front-end returns slow on next victim request, smuggling works. Validate: cache poisoning chain (smuggle request that gets cached for victim), credential theft (smuggle X-Forwarded-For override that captures next user's cookies), bypass auth (smuggled internal-path request). Real paid examples from major CDN deployments. Use when hunting H1 paid programs running CDN+origin stacks, when targeting load balancer / WAF bypass.

3,709 Updated today
elementalsouls
AI & Automation Solid

testing-smtp-smuggling-and-email-spoofing

Test a mail setup for sender spoofing that survives authentication: SPF, DKIM, and DMARC records that exist but do not align or enforce, subdomains left unprotected, and the end-of-data desync known as SMTP smuggling, where an inbound and an outbound mail server disagree on where one message ends so a second message with a forged, auth-passing sender is smuggled in. Covers policy present but not enforced, alignment gaps between the envelope and header sender, missing subdomain policy, open relay, and inconsistent message-boundary parsing between hops. Use when auditing a domain's mail authentication or a mail server's boundary handling. The crafted or smuggled message is the source, an accepted spoofed delivery is the sink.

4 Updated yesterday
UnboundCompute
AI & Automation Solid

testing-web-cache-attacks

Test how a caching layer between users and an application can be turned against it: cache poisoning (getting a harmful response stored and served to other users) and cache deception (tricking the cache into storing a victim's private response where the attacker can read it). Covers finding the cache key and unkeyed inputs, identifying cacheable responses, poisoning through unkeyed headers, and deceiving path-based caching into storing authenticated content. Use when reviewing a CDN, a reverse proxy, or any shared HTTP cache in front of an app.

4 Updated yesterday
UnboundCompute