Domínio de Vulnerabilidades Web é um curso guiado para iniciantes sobre como o tratamento inseguro de entradas se transforma em uma falha explorável de uma aplicação web. Em oito laboratórios práticos, você executará aplicações PHP deliberadamente vulneráveis no Docker, examinará o comportamento e trechos do código-fonte e fará testes pelo Firefox ou pelo terminal.
O programa percorre caminhos de ataque distintos: injeção de SQL em consultas de banco de dados, inclusão local e remota de arquivos, cross-site scripting refletido, upload inseguro de arquivos, injeção de comandos do sistema operacional e injeção de código PHP. Cada exercício relaciona um padrão de programação vulnerável a um resultado observável, como contorno de autenticação, extração de dados, execução de scripts, acesso a arquivos ou obtenção de um web shell.
O que você aprenderá
Ao concluir este curso, você será capaz de:
- Iniciar aplicações intencionalmente vulneráveis com Docker e interagir com elas usando Firefox, parâmetros de URL, formulários e Hackbar
- Detectar injeção de SQL por erros e testes de verdadeiro ou falso, distinguir contextos numéricos e de texto e determinar o número de colunas de uma consulta
- Usar
UNION SELECTeinformation_schemapara identificar a estrutura de um banco MySQL, recuperar dados e contornar uma consulta de login insegura - Distinguir inclusão estática de arquivos PHP de inclusão controlada pelo usuário e confirmar inclusão local ou remota com payloads controlados
- Criar payloads de XSS refletido e contornar filtros simples sensíveis a maiúsculas com elementos e manipuladores de eventos alternativos
- Examinar a validação de uploads, enviar uma página de teste PHP ou um shell de comandos e explorar contornos opcionais baseados em extensões
- Explorar entradas inseguras passadas a comandos do sistema operacional, executar comandos adicionais e estabelecer um shell reverso restrito ao laboratório
- Escapar de uma string PHP passada a
eval()para chamar funções, ler arquivos do servidor, gravar novos arquivos e criar um web shell simples
Para quem é este curso
Este curso é indicado para aspirantes a testadores de segurança web, desenvolvedores, estudantes de CTF e iniciantes em cibersegurança que desejam uma prática guiada ligando código PHP vulnerável a payloads funcionais de prova de conceito. É uma boa opção para quem prefere começar com experimentos no navegador e alteração direta de URLs antes de adotar um fluxo completo com proxy de interceptação.
Pré-requisitos: Recomenda-se saber usar basicamente um terminal Linux e conhecer URLs, parâmetros de consulta, formulários HTML e requisições web simples. Noções iniciais de PHP e SQL facilitarão as explicações do código-fonte, mas os laboratórios apresentam a sintaxe relevante quando ela aparece.
Ambiente de aprendizagem: Os laboratórios usam ambientes Linux gráficos e isolados da LabEx com Firefox, terminal, Docker, aplicações web vulneráveis locais e um arquivo de extensão Hackbar fornecido. Alguns exercícios baixam imagens Docker públicas, e uma demonstração de inclusão remota solicita um payload público do PentesterLab; o curso não especifica nenhuma conta de terceiros.
Perguntas frequentes
Preciso do Burp Suite ou de outro proxy de interceptação?
Não. Os exercícios usam Firefox, entrada direta em URLs e formulários, ferramentas de desenvolvedor do navegador, Hackbar e comandos de terminal. Interceptar e modificar tráfego HTTP bruto com o Burp Suite não faz parte deste curso.
Todas as aplicações vulneráveis são hospedadas localmente?
As aplicações são executadas localmente em contêineres Docker dentro do laboratório. Os comandos de preparação baixam imagens públicas de registros de contêineres, e o exercício de inclusão remota carrega um payload de demonstração hospedado publicamente; portanto, essa aula não é totalmente offline.
Qual é a diferença entre injeção de comandos e injeção de código neste curso?
O laboratório de injeção de comandos coloca uma entrada não confiável em um comando do sistema e demonstra a execução de comandos adicionais do sistema operacional. O de injeção de código insere a entrada em uma string PHP passada a eval(), permitindo que funções PHP injetadas leiam ou gravem arquivos e criem um web shell.
O curso ensina a corrigir todas as vulnerabilidades?
Ele explica padrões inseguros e apresenta verificações como validação de extensão, tipo MIME e tamanho, mas o trabalho prático é principalmente voltado à exploração. Parametrização segura de consultas, codificação sistemática de saída, arquitetura de upload para produção e testes completos de correção exigem estudo adicional.




