Segurança de Aplicações Web: as 9 etapas-chave para passar de zero a operacional

Web Application Security : o essencial em um artigo — código real, diagramas e etapas concretas, extratos de um curso de 45 lições.

Segurança de Aplicações Web: as 9 etapas-chave para passar de zero a operacional

Tudo o mundo pode aprender Web Application Security — desde que siga as etapas na ordem correta. Condensamos um curso completo de 45 lições em um percurso claro, com os trechos de código mais úteis.

tl;dr
  • Introdução e Lab
  • OWASP Top 10 e Metodologia
  • Injeções SQL NoSQL e Comando
  • XSS Cross-Site Scripting
  • CSRF SSRF e Requisição do Lado do Servidor
~$ cat ./parcours.md # Web Application Security — 10 capítulos
01
Introdução e Lab
→ Apresentação do curso e ecossistema de segurança web→ Instalar o lab : DVWA, Juice Shop, WebGoat+ 1 mais lições
02
OWASP Top 10 e Metodologia
→ OWASP Top 10 explicado (cada categoria)→ Metodologia : recon, mapping, attack, exploit+ 2 mais lições
03
Injeções SQL NoSQL Command
→ SQL injection clássica (UNION, error-based)→ Blind SQLi : boolean-based e time-based+ 2 mais lições
04
XSS Cross-Site Scripting
→ Reflected, stored, DOM-based XSS→ Bypass de filtros e WAF (encodings, polyglotes)+ 2 mais lições
05
CSRF SSRF e Server-Side Request
→ CSRF : token, SameSite, double-submit→ SSRF básica e exploração+ 2 mais lições
06
Autenticação e Sessões
→ Brute force inteligente (Burp Intruder, Hydra)→ JWT : alg=none, fraquezas criptográficas, kid injection+ 2 mais lições
07
API Security REST e GraphQL
→ OWASP API Security Top 10→ BOLA e broken function level authorization+ 2 mais lições
08
Vulnerabilidades Modernas
→ Desserialização : PHP, Java, Python pickle→ Prototype pollution Node.js+ 2 mais lições
🏁
Projeto final (+ 2 capítulos no caminho)
→ Você sai com um projeto concreto e demonstrável

Injeção SQL clássica (UNION, error-based)

NOTEObjetivo — Compreender o mecanismo de uma injeção SQL, detectá-la e depois explorá-la com as técnicas clássicas UNION-based e error-based para extrair dados de um banco.

Objetivos pedagógicos

TIPAo final deste módulo
  • Explicar por que uma SQLi é possível
  • Detectar uma injeção com uma simples aspa
  • Explorar uma UNION-based para ler outras tabelas
  • Utilizar as mensagens de erro (error-based)
  • Compreender a correção definitiva: consultas parametrizadas

Por que uma injeção SQL existe?

Uma SQLi ocorre quando uma entrada do usuário é concatenada diretamente em uma consulta SQL. O motor não distingue mais o código (a consulta) dos dados (a entrada). O atacante injeta então SQL que será executado.

PayloadComportamento esperado se vulnerável
'Erro SQL / 500
' OR '1'='1Bypass de autenticação
1' AND '1'='2Resultado vazio (condição falsa)
1' AND '1'='1Resultado normal (condição verdadeira)

UNION-based: ler outras tabelas

O operador UNION SELECT permite colar os resultados de uma segunda consulta à primeira. Condições: mesmo número de colunas e tipos compatíveis. Começamos encontrando o número de colunas com ORDER BY.

OK Protegido

WARNINGAtenção: escapar as aspas manualmente NUNCA é suficiente (múltiplos contornos). A única defesa confiável é a consulta parametrizada (prepared statement), onde o motor separa código e dados.

JWT: alg=none, fraquezas criptográficas, injeção kid

NOTEObjetivo — Atacar os JSON Web Tokens: compreender sua estrutura, explorar as falhas clássicas (alg=none, segredo fraco HS256, confusão RS256/HS256, injeção via o header kid) e aplicar as boas práticas de validação.

Objetivos pedagógicos

TIPAo final deste módulo
  • Decodificar e compreender a estrutura de um JWT
  • Explorar a falha alg=none
  • Quebrar um segredo HS256 fraco
  • Compreender a confusão de algoritmo RS256/HS256
  • Explorar uma injeção via o header kid

Estrutura de um JWT

Um JWT é composto de três partes codificadas em base64url, separadas por pontos: header, payload, signature. O header indica o algoritmo, o payload contém os claims (dados), a signature garante a integridade.

AlgoritmoAssinaturaVerificação
HS256Segredo compartilhadoMesmo segredo
RS256Chave privadaChave pública
ConfusãoChave pública em HS256O servidor valida incorretamente

Falha 4: injeção via kid

O header kid (key ID) indica qual chave usar. Se for utilizado sem sanitização para ler um arquivo ou consultar um banco, podemos injetar um caminho (path traversal) ou SQL.

Burp Suite Community: primeira utilização

NOTEObjetivo — Dominar o Burp Suite Community: configurar o proxy, interceptar o tráfego HTTP/HTTPS, instalar o certificado CA e utilizar as abas essenciais (Proxy, Repeater, Target) para reproduzir e modificar requisições.

Objetivos pedagógicos

TIPAo final deste módulo
  • Configurar o navegador para passar pelo proxy Burp
  • Instalar o certificado CA para interceptar o HTTPS
  • Interceptar, modificar e transmitir uma requisição
  • Reproduzir uma requisição no Repeater
  • Navegar no sitemap (aba Target)

O que é o Burp Suite?

Burp Suite é um proxy de interceptação que se posiciona entre seu navegador e o servidor web. Todo o tráfego passa por ele: você pode vê-lo, modificá-lo em tempo real e reproduzi-lo. É a ferramenta central de todo pentester web. A edição Community é gratuita e suficiente para aprender.

Repeater

Reproduz uma requisição quantas vezes quiser, modificando-a.

Target

Constrói o mapeamento (sitemap) da aplicação visitada.

Configurar o proxy

Por padrão, o Burp escuta em 127.0.0.1:8080. É preciso configurar o navegador para enviar seu tráfego para lá. O método mais simples é o navegador integrado do Burp (« Open Browser »), pré-configurado. Caso contrário, configure um proxy manual ou use a extensão FoxyProxy.

Proxy manual (Firefox)

WARNINGAtenção: este certificado é específico da SUA instalação do Burp. Nunca o instale na máquina de outra pessoa e remova-o quando terminar: ele permite descriptografar seu tráfego HTTPS.

Primeiro fluxo de trabalho: interceptar e reproduzir

Aqui está o gesto básico que você repetirá milhares de vezes.

EtapaAção
1Aba Proxy → Intercept « on »
2Navegar até o alvo (ex: login DVWA)
3A requisição é capturada — leia-a, modifique-a
4Clique direito → « Send to Repeater »
5No Repeater, altere um parâmetro, clique « Send »

Exemplo: modificar um parâmetro no Repeater

va-plus-loin

Este artigo cobre os trechos mais úteis — o curso completo Web Application Security (11 capítulos, 45 lições, exercícios corrigidos e projeto final) leva você até o fim.

./acceder-au-cours-complet curso gratuito: Dominando o Claude Code

FAQ

Quanto tempo para aprender Web Application Security?
Com uma progressão estruturada (11 capítulos, 45 lições curtas e práticas), alcança-se um nível operacional em algumas semanas dedicando 30 a 60 minutos por dia. O importante é praticar cada conceito imediatamente.
É preciso ter pré-requisitos?
Básicos de informática são suficientes. Se você sabe usar um terminal e ler código simples, está pronto.
Por onde começar concretamente?
Reproduza os comandos deste artigo, depois siga o curso completo Web Application Security: ele encadeia as 45 lições em ordem, com exercícios e projeto final.

📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.