Deserialization insegura

Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.

O vetor

Vetor: desserializar dados não confiáveis (Java/PHP/Python pickle/.NET) pode executar código (RCE). O que testamos: se algum endpoint aceita objetos serializados do cliente.

Os passos

Passo 1 (🟢) — procurar pontos de desserialização no código:

grep -RniE "pickle.loads|yaml.load\(|ObjectInputStream|unserialize\(|BinaryFormatter" . | head

Passo 2 (metodologia/lab): gerar payload com ysoserial (Java) em lab e enviar; nunca em prod alheia.

O que esperar

  • VULNERÁVEL: aceita e desserializa input; pickle.loads/unserialize sobre dado do usuário.
  • SEGURO: não desserializa input não confiável; usa JSON com schema; yaml.safe_load.

Como corrigir

Correção (P0 se existir): eliminar desserialização de input; formatos seguros; allowlist de classes. (CATALOGO §1.6.) Limpeza: só lab.


BLOCO L — Operações defensivas & resiliência (Ex. 61–65)

Muda o chapéu: aqui você é blue team. O "resultado esperado" é uma capacidade defensiva comprovada, não um payload.

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