Pular para o conteúdo principal
SovereignTech
Vulnerabilidade Explicada

Cross-Site Scripting (XSS): o que é e como um script malicioso rouba dados

Felipe Dantas — Founder, Sovereign Tech11 de agosto de 20262 min de leitura

Cross-Site Scripting, ou XSS, é uma vulnerabilidade que permite que um script malicioso seja executado dentro do navegador de outra pessoa, através de uma página que ela confia — o site legítimo da empresa. Acontece quando a aplicação exibe, sem tratamento adequado, algum conteúdo que veio de uma fonte não confiável: um comentário, um campo de busca, um parâmetro de URL.

Os três tipos principais

XSS refletido acontece quando o conteúdo malicioso vem de uma requisição imediata, geralmente através de um link malicioso que a vítima precisa clicar. XSS armazenado é mais grave: o conteúdo malicioso fica salvo no banco de dados da aplicação — num comentário, por exemplo — e é executado para qualquer pessoa que visualizar aquele conteúdo depois, sem precisar de nenhuma ação além de abrir a página. XSS via DOM acontece inteiramente no navegador, quando o próprio JavaScript da página manipula dados de forma insegura.

O que um script malicioso consegue fazer

Uma vez executado no contexto da página legítima, um script pode roubar cookies de sessão (potencialmente assumindo a conta da vítima), capturar o que é digitado em formulários, redirecionar para páginas falsas, ou modificar o conteúdo visível da página para enganar o usuário. O dano depende do que a aplicação expõe ao JavaScript — mas o ponto de partida é sempre o mesmo: conteúdo não confiável tratado como se fosse confiável.

O que realmente previne XSS

  • Codificação de saída (output encoding) de qualquer dado exibido que venha de fonte externa
  • Uso de frameworks modernos que já escapam conteúdo por padrão (React, Vue e similares reduzem bastante esse risco quando usados corretamente)
  • Content Security Policy (CSP) como camada adicional de contenção
  • Validação de entrada, mesmo sabendo que ela sozinha não é suficiente

Assim como SQL Injection, XSS não é uma vulnerabilidade nova nem exótica — é antiga, bem documentada, e ainda assim recorrente, geralmente porque uma única tela nova, feita fora do padrão do resto do sistema, esquece de aplicar a mesma disciplina de tratamento de dado que o restante da aplicação já tem.

Sua empresa resiste a um teste de invasão real?

Agende um diagnóstico técnico com a Sovereign Tech e descubra exatamente onde sua aplicação está exposta — antes que alguém mal-intencionado descubra primeiro.