CyberGlossary

Ataques e ameaças

Cross-Site Scripting (XSS)

Também conhecido como: XSS

Definição

Vulnerabilidade web que permite a um atacante injetar scripts maliciosos em páginas visitadas por outros utilizadores, executados no browser da vítima sob a origem do site.

O Cross-Site Scripting (XSS) ocorre quando uma aplicação web inclui entradas não confiáveis nas respostas sem escape ou sanitização adequados, permitindo a execução de JavaScript controlado pelo atacante no browser da vítima. As três classes principais são XSS refletido (payload enviado num pedido e devolvido), XSS armazenado (payload persistido no servidor, p. ex. em comentários) e XSS baseado no DOM (vulnerabilidade no código do cliente). Um XSS bem-sucedido pode raptar sessões, roubar tokens, alterar páginas, distribuir malware ou encadear com SSRF e CSRF. As defesas incluem output encoding sensível ao contexto, Content-Security-Policy rigorosa, templates seguros do framework, cookies HTTPOnly e SameSite e validação de entrada.

Exemplos

  • Um payload XSS armazenado num post de fórum rouba os cookies de sessão de todos os leitores do tópico.
  • Um XSS refletido num parâmetro de pesquisa executa JavaScript do atacante através de um link forjado.

Termos relacionados