Pular para o conteúdo
Todos os conceitos

XSS armazenado

O payload é salvo no servidor e roda sozinho para todo mundo que abrir a página.

No XSS refletido, a vítima precisa abrir um link que o atacante montou. No XSS armazenado o payload é gravado pelo site (num comentário, num recado de mural, num nome de perfil) e passa a ser servido a todo visitante. Ninguém precisa clicar em link nenhum: basta abrir a página comum.

Isso o torna bem mais perigoso. Um único recado malicioso no mural de uma loja roda no navegador de cada cliente que abrir a página, e pode roubar a sessão de cada um, inclusive a de um administrador que for ler os recados. O alcance é todo mundo que vê o conteúdo, não só quem clicou.

O mecanismo é o mesmo do refletido: o site guarda o que você escreveu e depois o coloca na página como HTML, sem tratar. A diferença é só o tempo de vida: o refletido vive no pedido, o armazenado vive no banco até alguém apagar.

Atacante banco de dados payload 1 . salva o payload uma vez 2 . servido a cada visita run run run roda no navegador de todos
O recado com o payload é salvo uma vez; depois a página o serve a cada visitante, e ele roda no navegador de todos.

Aparece nestes desafios