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.