Último dia de Halloween: +30% em uma recargaO bônus vale uma única vez: recarregue de uma vez todo o valor de que precisa. Dê uma olhada no seu painel: há surpresas escondidas. 00h00min00s Receber o bônus
Início / Base de conhecimento / Glossário / XSS: Cross-Site Scripting em termos simples

XSS: Cross-Site Scripting em termos simples

Glossário 3 min de leitura Atualizado em 02.11.2026
O que é XSS e por que essa vulnerabilidade não está no servidor, mas na saída de dados. O que ela ameaça nos negócios e nos rankings, como a falha aparece no relatório do Shield e como corrigi-la.

XSS (cross-site scripting) é quando uma pessoa de fora consegue executar o código dela nas páginas do seu site, no navegador do visitante. A vulnerabilidade não está no servidor, mas na forma como o site exibe dados que vêm de fora: do endereço, de um formulário, de um comentário ou de um perfil.

Analogia para o dono do site

Imagine um mural na entrada de uma loja. Se alguém traz um bilhete dizendo "entregue as chaves do caixa ao portador" e você o pendura sem ler, o funcionário vai seguir as instruções de outra pessoa como se fossem suas. O XSS funciona do mesmo jeito: o site insere um texto estranho na página como se fosse dele, e o navegador executa tudo o que está ali, confiando totalmente no seu domínio.

Tipos de XSS

TipoOnde ocorreQuem é afetado
RefletidoO valor do endereço ou do formulário volta diretamente na resposta HTMLQuem clicou no link preparado
ArmazenadoUm texto estranho fica salvo no banco de dados: comentário, avaliação, nome de perfilTodos que abrirem essa página
Baseado em DOMOs próprios scripts do site inserem dados do endereço na marcaçãoVisitantes, sem deixar rastros na resposta do servidor

O que ele ameaça

  • Sequestro de sessão. Um script estranho lê os cookies e acessa a conta ou o painel administrativo em nome do usuário.
  • Spam e links ocultos. O site começa a promover assuntos que não têm relação com ele e perde a confiança dos buscadores.
  • Aviso no navegador e nos resultados de busca. Se um código malicioso foi injetado por meio da vulnerabilidade, o domínio entra em bases de sites inseguros, o visitante vê o aviso "este site pode prejudicar você" e as páginas saem do índice.

Como aparece no relatório do Security Shield

O scanner insere um marcador inofensivo nos parâmetros da página e verifica se ele volta no HTML sem escape. Se voltar, aparece o alerta "Indício de XSS refletido": gravidade média, classe CWE-79, categoria OWASP A03:2021. A observação "requer verificação" significa que o serviço enxerga a superfície, mas não a explora.

As sondagens ativas só acontecem nos modos pagos e em domínios verificados: a verificação rápida gratuita não as realiza. O que mais é verificado está descrito no artigo sobre o Security Shield.

O que fazer com o alerta

Abra o endereço e o parâmetro da linha "Onde foi encontrado" e peça ao desenvolvedor que verifique se esse valor recebe escape na saída. Refletir valores brutos no HTML é um sinal de que não há filtro aqui.

Como corrigir

  1. Aplique escape na saída. Os dados do usuário passam por codificação contextual antes de serem inseridos no HTML: <, >, aspas e o "e comercial" são convertidos em sequências seguras. Nos template engines, isso é uma única configuração.
  2. Verifique o que entra. Se o parâmetro é um número, aceite apenas números. Para textos com marcação, use uma biblioteca de limpeza de HTML confiável.
  3. Ative o CSP: mesmo com um erro no template, ele impede que um script estranho seja executado. Veja como começar no artigo sobre cabeçalhos de segurança.
  4. Proteja os cookies com as flags HttpOnly e Secure, para que a sessão não possa ser lida por JavaScript.
  5. Atualize o CMS, o tema e os plugins. A maior parte dos XSS em sites comuns vem de extensões de terceiros.

Como evitar que aconteça de novo

A regra é simples: todo novo campo que o visitante vê passa pela mesma saída segura que os demais. Mantenha o CSP ativado e repita as verificações após lançamentos e instalações de plugins. Uma auditoria de SEO também ajuda: um aumento repentino no número de links externos costuma ser o primeiro sinal de uma injeção.

Perguntas frequentes

Qual é a diferença entre XSS e invasão de site?
No XSS, um código externo é executado no navegador do visitante, não no seu servidor. Mas, por essa brecha, muitas vezes se consegue acesso ao painel de administração, e aí acaba em uma invasão real.
Um único CSP é suficiente para fechar o XSS?
Não. O CSP é uma segunda linha de defesa: ele impede que um script externo seja executado, mas não corrige o erro de saída em si. Você precisa começar pelo escape dos dados.
Por que há a observação "requer verificação" no relatório?
O scanner vê que o valor do parâmetro foi retornado no HTML sem escape, mas não realiza um ataque. O desenvolvedor deve confirmar e avaliar o risco.
Este artigo foi útil?
Experimente no seu projeto Tudo o que está descrito no artigo está disponível no painel: o bônus de cadastro já está no seu saldo.
Abrir painel