O que é cross-site scripting (XSS)?
Cross-site scripting, ou XSS, é um ataque web em que o criminoso injeta um script malicioso dentro de um site legítimo e confiável, para que ele rode no navegador de quem visitar a página. Como o código vem de um site em que a vítima confia, o navegador o executa sem desconfiar, e assim o atacante rouba sessões, senhas e dados dos próprios usuários do site. Em resumo: o site da empresa vira a arma usada contra os clientes dela.
Como o cross-site scripting funciona
Um site mostra, de volta na tela, muita coisa que os usuários digitam: um comentário, um nome de perfil, o termo de uma busca. O XSS acontece quando esse texto é repetido sem tratamento e inclui um script. O navegador do próximo visitante recebe o código como se fosse parte legítima da página, e o executa.
Achar o ponto de eco
O atacante procura um campo cujo conteúdo o site mostra a outros usuários sem limpar: uma caixa de comentário, um campo de perfil, um resultado de busca que repete o que foi digitado.
Injetar o script
No lugar de um texto comum, ele insere um trecho de código de navegador (um script). Se o site guardar ou repetir esse conteúdo sem tratar, o código fica plantado.
A vítima carrega a página
Quando outra pessoa abre a página, o site entrega o script junto com o conteúdo legítimo. Para o navegador da vítima, o código veio de uma fonte confiável, então ele roda sem barreira.
O script age
Já rodando no navegador da vítima, o código rouba os cookies de sessão (para se passar por ela), captura o que ela digita, redireciona para uma página falsa ou executa ações no lugar dela.
Fonte: OWASP (o XSS faz parte da categoria A03:2021, Injeção).
Os três tipos de XSS
- XSS refletido O script viaja num link malicioso. A vítima clica, o site devolve o código na resposta e ele roda no navegador dela. Atinge um alvo por vez e não fica guardado; costuma vir por e-mail ou mensagem.
- XSS armazenado O script fica salvo no servidor do site (num comentário, num perfil, num campo de cadastro) e é servido a todo mundo que abrir aquela página. É o mais danoso, porque atinge muitos visitantes sem exigir novo clique.
- XSS baseado em DOM O ataque acontece inteiramente no navegador da vítima: um código do próprio site processa a entrada de forma insegura e dispara o script sem que ele chegue a passar pelo servidor. É mais difícil de perceber de fora.
O que está em jogo para o negócio
O XSS importa porque inverte a relação de confiança: é o próprio site da empresa, aquele em que o cliente confia, que entrega o golpe. Um script bem colocado sequestra a sessão do usuário logado (assumindo a conta dele), rouba dados de formulário ou redireciona para uma página falsa, tudo sob o nome e a aparência da marca. O prejuízo não é só técnico: é a confiança do cliente e a reputação que sustentam o negócio, sem contar a exposição de dados pessoais e o custo médio de US$ 4,44 milhões por violação no mundo (IBM, 2025). Por isso o XSS integra a Injeção, a 3ª maior categoria de risco do OWASP Top 10, e é tratado com o mesmo rigor de uma falha que abre a porta do cliente.
Como se proteger do cross-site scripting
A defesa contra o XSS parte de uma regra simples: o site nunca pode repetir, como se fosse código, um texto que veio de fora. Isso se garante com camadas de disciplina no desenvolvimento:
- Codifique a saída (output encoding)É a correção central. Antes de exibir qualquer conteúdo vindo do usuário, o site o converte para texto puro, de modo que um script apareça como letras na tela, e não seja executado. Trata o dado como dado, nunca como comando.
- Valide e trate a entradaVerifique e limpe o que os usuários enviam, recusando conteúdo com marcações e comandos onde só se espera texto. É a camada complementar à codificação de saída.
- Adote uma Política de Segurança de Conteúdo (CSP)A CSP diz ao navegador quais scripts têm permissão para rodar naquele site. Mesmo que um XSS passe, ela reduz o que o script consegue fazer, funcionando como uma trava adicional.
- Adicione um firewall de aplicação web (WAF)O WAF filtra o tráfego da aplicação e bloqueia padrões conhecidos de XSS antes que cheguem ao usuário. É uma camada extra, não um substituto da correção no código.
- Teste continuamenteVarredura automatizada e teste de invasão encontram os pontos de eco vulneráveis antes do atacante. O XSS some do site quando é procurado de propósito, campo a campo.
Na prática
No XSS, quem ataca o seu cliente é o seu próprio site. Por isso a defesa não é desconfiar do visitante, e sim nunca deixar o site repetir, como se fosse dele, um texto que veio de fora. O campo de comentário mais inocente, exibido sem tratamento, é o suficiente para transformar a confiança na marca em vetor de ataque.
Como a Zamak protege contra o XSS
A Zamak Technologies protege a relação de confiança que o XSS explora, atuando ao lado da sua equipe de desenvolvimento, sem substituí-la: testa as aplicações em busca dos pontos de eco vulneráveis, aponta a correção na origem (codificação de saída, validação de entrada, Política de Segurança de Conteúdo) e reforça o ambiente com uma camada de firewall de aplicação web. Em vez de descobrir a falha quando um cliente for atingido, a sua empresa a encontra e fecha antes. É parte da Cibersegurança gerenciada do Método Zamak, e um bom ponto de partida é o diagnóstico de cibersegurança.