Second-order injection

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

O vetor

Vetor: o payload é armazenado limpo e só vira ataque quando lido/usado depois num contexto sem revalidação. O que testamos: dados salvos numa etapa que são interpretados como código/consulta em outra.

Os passos

Passo 1 (🟡) — plantar payload em um campo salvo: ex.: nome de usuário = pentest_' || (SELECT ...) || '. Passo 2 (🟢) — acionar a leitura (relatório/admin/export) e observar comportamento.

O que esperar

  • VULNERÁVEL: o valor salvo é concatenado numa query/relatório depois.
  • SEGURO: validação/escape no ponto de uso, não só na entrada.

Como corrigir

Correção (P1): tratar dado como não confiável em todo uso; parametrizar sempre; codificar por contexto (SQL/HTML/shell). Limpeza: apagar o registro pentest_.

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