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_.