Labs práticos deste módulo (a teoria vira mão na massa)

Todos são 🟢 verdes (só leitura) — não alteram nada. Rode-os no seu alvo autorizado (ou em example.com, que é público para testes). Defina uma vez: BASE="https://seu-site-autorizado"

Lab 0.1 — Veja uma requisição HTTP inteira por dentro

curl -v "$BASE/" 2>&1 | head -40

Observe: as linhas > são o que você manda (método, Host, User-Agent); as < são o que o servidor responde (status, headers). Ligue à seção 0.3.

Lab 0.2 — Siga o caminho do DNS

dig +short "$(echo "$BASE" | sed 's|https\?://||;s|/.*||')"

Observe: o nome virou um ou mais IPs. É a "lista telefônica" da seção 0.4 funcionando. Vários IPs = balanceamento/CDN.

Lab 0.3 — Abra o cadeado (certificado TLS)

HOST=$(echo "$BASE" | sed 's|https\?://||;s|/.*||')
echo | openssl s_client -connect "$HOST:443" -servername "$HOST" 2>/dev/null | openssl x509 -noout -subject -issuer -dates

Observe: quem emitiu, para qual domínio e até quando vale. Lição da seção 0.5: isso prova o transporte, não que a aplicação é segura.

Lab 0.4 — 🥇 A sua primeira vitória: leia os headers de segurança

curl -sI "$BASE/" | sort

Procure por:

  • x-powered-by ou server com versão → informação vazada (P3) — o seu primeiro achado.
  • Falta strict-transport-security / content-security-policy / x-content-type-optionsdefesas ausentes.

➡️ Registre no templates/REGISTRO_ACHADOS.md: o comando, a evidência, por que importa. Pronto — você fez segurança de verdade.

Lab 0.5 — Prove que o cliente não é confiável

  1. Abra o seu site → F12 (DevTools) → aba Network.
  2. Navegue e veja as chamadas de API aparecerem.
  3. Pegue uma delas e rode a mesma chamada no terminal com curl, sem abrir o site.

Lição (seção 0.10): o navegador é só um cliente. Qualquer um chama a sua API direto — por isso a autorização tem que estar no servidor.

Lab 0.6 — O teste do anônimo (RLS)

curl -s "$BASE/api/<um-endpoint-seu>" | head -20

Interprete: 401/403 = protegido ✅ · 200 com dados reais sem token = 🔴 P0, pare e corrija (seção 0.9).

Fechamento: você acabou de exercitar HTTP, DNS, TLS, a fronteira cliente/servidor e o controle de acesso — os cinco pilares deste módulo. Os exercícios completos estão no TESTES_SEGURANCA_COMPLETO.md (Ex. 1–4).


entre para marcar esta aula como concluída.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico