Falhas específicas por linguagem

Cria dado de teste (use o prefixo pentest_). Limpe depois. Só em alvo seu ou autorizado por escrito.

O vetor

Vetor: cada runtime tem armadilhas: Node (prototype pollution), Python (pickle/eval), PHP (LFI/include), Go (path), Java (deserialization). O que testamos: injeção de __proto__, entradas que viram código, includes controláveis.

Os passos

Passo 1 (🟡) — prototype pollution (Node):

curl -s -X POST "$BASE/api/algum-endpoint" -H "Content-Type: application/json" \
  -d '{"__proto__":{"pentest_polluted":true}}' -w "\n%{http_code}\n"
# Depois observe se objetos passam a ter 'pentest_polluted' (comportamento anômalo).

O que esperar

  • VULNERÁVEL: o merge de objeto aceita __proto__/constructor e polui o protótipo; entradas chegam a eval/pickle/include.
  • SEGURO: merges usam Object.create(null)/allowlist; nunca eval de input; includes com caminho fixo.

Como corrigir

Correção (P1): bibliotecas seguras de merge, validação de schema, proibir eval/deserialização de input. Limpeza: reiniciar o processo local se testou em lab (a poluição é em memória).

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