Falhas de injeção surgem quando uma aplicação permite que dados controlados pelo usuário alterem o significado de um comando de shell ou consulta ao banco de dados. Este curso torna essa quebra de limite visível com exercícios de injeção de comandos e SQL contra aplicações locais deliberadamente vulneráveis.
Primeiro, você criará payloads manualmente para entender por que separadores, aspas, comentários, expressões booleanas e UNION SELECT alteram o comportamento. Depois, usará sqlmap para automatizar detecção, enumeração do esquema, extração de dados e um fluxo de OS shell antes de concluir um desafio independente de comprometimento de banco.
O que você aprenderá
- Identificar um ponto de injeção de comandos e confirmar a execução com separadores do Linux.
- Contornar filtros simples com escape e curingas do shell e criar um arquivo de prova no alvo.
- Provocar erros SQL e construir um payload booleano que contorne um login vulnerável.
- Determinar a quantidade e as posições exibidas das colunas com
ORDER BYeUNION SELECT. - Consultar metadados do esquema SQLite e extrair usuários e senhas preparados pela resposta da aplicação.
- Usar sqlmap para detectar SQLi, enumerar bancos, despejar uma tabela e tentar um OS shell interativo.
- Validar independentemente duas entradas SQLi e exportar uma tabela de clientes preparada no desafio final.
Para quem é este curso
Este curso intermediário é voltado a estudantes de segurança web que querem entender a mecânica da injeção antes de depender da automação. É adequado para futuros pentesters, estudantes de segurança de aplicações e desenvolvedores que precisam de exemplos concretos de como comandos inseguros e SQL dinâmico expõem sistemas e dados.
Pré-requisitos: Familiaridade com terminal Linux e curl, requisições HTTP GET/POST e codificação de URL básicas, além de conceitos iniciais de SQL como SELECT, WHERE, colunas e tabelas.
Ambiente de aprendizagem: Um terminal Ubuntu 22.04 com sqlmap e aplicações web locais, isoladas e deliberadamente vulneráveis nas portas 5000, 8080 e 80. Todos os comandos e dados de exemplo extraídos permanecem dentro do ambiente do curso.
Perguntas frequentes
Preciso conhecer SQL avançado antes de começar?
Não. Os laboratórios explicam o contexto da consulta, lógica booleana, comentários, contagem de colunas e a sequência de UNION SELECT. Conhecer o vocabulário básico de SQL facilitará os exercícios intermediários.
Os payloads de injeção são enviados a sistemas reais?
Não. Cada alvo é uma aplicação local configurada intencionalmente para prática. Comandos, credenciais, registros de clientes e tokens são dados preparados do laboratório.
Por que aprender SQLi manual antes do sqlmap?
Os exercícios manuais mostram como a entrada altera a sintaxe e como colunas refletidas expõem dados. Isso ajuda a interpretar as técnicas do sqlmap e definir o escopo da enumeração automática, em vez de tratar a saída como uma caixa-preta.
O curso obtém execução de comandos do sistema operacional?
Sim, dentro dos laboratórios isolados. O exercício de injeção executa comandos Linux selecionados, e o laboratório de sqlmap orienta o fluxo --os-shell contra um alvo PHP preparado. As atividades não ultrapassam o ambiente local.





