request-smuggling

Tests HTTP request smuggling and desynchronization between proxies, CDNs, and origin servers.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/lNwNl/Praxis --skill request-smuggling-lnwnl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: request-smuggling
Source: https://github.com/lNwNl/Praxis/tree/main/skills/request-smuggling
Command: npx skills add https://github.com/lNwNl/Praxis --skill request-smuggling-lnwnl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Front-end proxies, CDNs, and load balancers often disagree with origin servers on where one HTTP request ends and the next begins. This Skill provides a structured playbook for detecting and exploiting these message-boundary disagreements (CL.TE, TE.CL, TE.TE, H2.CL, H2.TE, CL.0) during authorized penetration tests and CTF challenges. ## Core Features & Use Cases - Classic Desync Probes: Byte-exact CL.TE and TE.CL payloads with chunk-length calculation guidance, plus 8 Transfer-Encoding obfuscation variants for TE.TE parser differentials. - HTTP/2 Smuggling: H2.CL and H2.TE downgrade attacks, pseudo-header confusion, and CL.0 connection-close desync with detection procedures. - Impact Escalation: Chains smuggling into cache poisoning, queue poisoning, and client-side desync via browser fetch pipelines, with a CDN/reverse-proxy behavior matrix (HAProxy, Nginx, Cloudflare, AWS ALB, Envoy, and more). - Use Case: During an authorized assessment of a site behind Cloudflare, use the detection decision tree to identify the front/back TE preference, confirm a CL.TE desync with a timing probe, then escalate to cache poisoning of a static asset. ## Quick Start Ask the agent to test the target for HTTP request smuggling using the CL.TE and TE.CL probes from this skill and confirm any desync with a timing-based follow-up request.

Frequently Asked Questions about request-smuggling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for HTTP request smuggling vulnerabilities?▼

Start with a CL.TE probe: send a POST with both Content-Length and Transfer-Encoding: chunked headers, using a short Content-Length so the front end ends the request early while the back end continues chunk parsing. Confirm with timing delays or a smuggled prefix affecting the next request on the same connection.

What is the difference between CL.TE and TE.CL desync?▼

CL.TE occurs when the front end trusts Content-Length but the back end trusts Transfer-Encoding, leaving extra bytes for the next request. TE.CL is the reverse: the front end parses chunked encoding while the back end reads only Content-Length, leaving the remaining chunk bytes buffered.

Which tools automate HTTP request smuggling detection?▼

Burp Suite's HTTP Request Smuggler extension automates variant scanning and timing-delta checks. The defparam/smuggler Python scripts batch-generate CL.TE and TE.CL probes, and h2csmuggler handles HTTP/2 cleartext smuggling scenarios.

Can HTTP/2 connections be vulnerable to request smuggling?▼

Yes, when a front end speaks HTTP/2 and downgrades to HTTP/1.1 toward the back end. H2.CL exploits disagreement between the H2 frame length and a forwarded content-length header, while H2.TE exploits transfer-encoding headers that proxies fail to strip during downgrade.

What is CL.0 desync and when does it apply?▼

CL.0 occurs when a back end ignores the Content-Length header entirely and treats the body as empty, leaving body bytes in the socket buffer for the next request. It applies to endpoints that respond without consuming the body, such as redirects, static file servers, and health checks.

When should request smuggling testing be avoided?▼

Avoid testing outside authorized scope, since concurrent smuggling can poison shared connection pools, corrupt caches, and affect other tenants. Prefer isolated environments or low-traffic windows, and lower probe concurrency on production systems.