Tecnologia e inovação

XSS (cross-site scripting): o que é e como se aplica?

XSS, sigla de cross-site scripting, é uma vulnerabilidade em que conteúdo não confiável pode ser interpretado pelo navegador como código no contexto de uma aplicação. Pode comprometer usuários e informações de um portal. Sua prevenção depende do tratamento adequado de entradas e saídas, de recursos seguros de desenvolvimento e de controles complementares de proteção.

Por que conteúdo pode virar código

O problema surge quando a aplicação incorpora conteúdo não confiável de forma insegura em uma página. A OWASP orienta proteção das variáveis e diferencia codificação de saída de sanitização de HTML [1]. Codificar faz o navegador tratar caracteres como dados no contexto correto. Sanitizar permite apenas o HTML autorizado quando a edição formatada é necessária. Um único filtro genérico não resolve todos os contextos, como texto, atributos, endereços e código executável.

Risco em portais e cadastros turísticos

Um portal de turismo pode receber descrições de atrativos, avaliações, formulários e conteúdo de integrações externas. Se esses materiais forem exibidos sem proteção, a falha pode atingir visitantes ou servidores públicos autenticados. O risco também existe no painel administrativo: conteúdo cadastrado por um colaborador ou importado de outra base não deve ser considerado seguro automaticamente. A infraestrutura precisa tratar o problema na aplicação, não apenas no cadastro ou na borda da rede.

Como organizar a prevenção defensiva

  1. Mapeie onde conteúdo externo entra e em quais telas e contextos ele é exibido, inclusive prévias e painéis internos.
  2. Utilize mecanismos de escape do framework e evite desativá-los sem justificativa técnica revisada.
  3. Quando houver conteúdo rico, adote biblioteca de sanitização mantida, com regras explícitas para os elementos permitidos.
  4. Inclua testes defensivos e revisão de segurança no fluxo de desenvolvimento, sempre em ambiente autorizado.
  5. Aplique política de segurança de conteúdo como camada adicional e mantenha dependências atualizadas, sem substituir a correção da origem.
Exemplo hipotético · não é um case da DI

Exemplo hipotético

Em um exemplo hipotético, um formulário permite que estabelecimentos enviem descrições para revisão. A equipe técnica garante que o texto seja tratado como dado tanto na página pública quanto na tela de aprovação. O teste verifica a proteção sem executar ações contra visitantes ou serviços externos, e registra as evidências em ambiente de homologação.

Cuidados e limites

Validação de entrada, firewall e política de segurança de conteúdo não bastam isoladamente. Bibliotecas de sanitização precisam de atualização. Evite registrar conteúdo perigoso em telas de erro sem proteção. Não teste portais de terceiros sem autorização: o objetivo é prevenir exposição e corrigir falhas com responsáveis definidos, preservando dados e continuidade do atendimento.

Continue explorando

Fontes e referências

  1. Cross Site Scripting Prevention - OWASP Cheat Sheet Series

Conteúdo explicativo. Os exemplos são hipotéticos e não representam resultados, certificações ou funcionalidades contratadas da Destinos Inteligentes.