WordPress e Cross-Site Scripting (XSS)

Publicados: 2022-11-02

Os ataques de script entre sites são um dos tipos mais comuns de ataques a sites vistos na Internet. Compreender o que são e como se proteger contra eles é vital para proteger a segurança do seu site, visitantes e negócios. Continue a ler para saber mais!

O que são ataques de script entre sites?

Um ataque Cross-Site Scripting (mais comumente chamado de ataque XSS) ocorre quando um código malicioso (normalmente JavaScript) é injetado em uma página da Web com a intenção de prejudicar o usuário final.

Esse código geralmente é inserido no final do URI (Uniform Resource Identifier) ​​como um parâmetro ou usando um aplicativo da Web em uma página da Web, como um formulário de entrada do usuário. O código malicioso normalmente será projetado para substituir o controle de acesso e manipular a funcionalidade do site.

Vulnerabilidade de script entre sites

Como vimos, um ataque XSS é um ataque baseado na web que usa código malicioso para acessar um site vulnerável e realizar atividades prejudiciais. A palavra-chave nesta frase é 'vulnerável'. Isso (infelizmente!) pode significar muitas, muitas coisas. Um site WordPress que usa 'admin' e '123456' como nome de usuário e senha é vulnerável, mesmo que todas as outras precauções de segurança tenham sido tomadas. Sites WordPress que executam plugins desatualizados podem ser considerados vulneráveis. Ou mesmo um aplicativo da web que inclui entrada do usuário em um formulário e não valida ou codifica os valores enviados seria considerado vulnerável.

Os hackers que implantam ataques XSS estão constantemente à procura de vulnerabilidades que possam explorar. Aqueles que são mais comumente encontrados e, portanto, abrem mais sites para ataques são, compreensivelmente, favorecidos, mas os hackers procuram vulnerabilidades mais obscuras para atacar sites que consideram de alto valor para eles como hackers.

Hospede seu site com a Pressidium

GARANTIA DE DEVOLUÇÃO DO DINHEIRO DE 60 DIAS

VEJA NOSSOS PLANOS

O fato de haver tantas vulnerabilidades em potencial e todos os tipos de ataques torna a identificação dos pontos fracos potenciais e a mitigação de ataques uma tarefa complicada.

Sites de destino

Um servidor ou cliente de e-mail baseado na web, um sistema CRM/ERP, uma página de perfil disponível publicamente (como as que são comumente vistas em sites de mídia social e grupos de membros) são apenas alguns tipos de sites e aplicativos que são excelentes alvos para ataques XSS .

Outros sites normalmente vulneráveis ​​são aqueles em que os usuários podem postar texto formatado em HTML que outras pessoas podem visualizar, como em fóruns ou campos de comentários.

Tipos de script entre sites

Os ataques conhecidos como cross-site scripting (XSS) podem ser divididos em três tipos principais, dependendo se o código injetado é executado no servidor ou apenas no navegador da pessoa que está tentando o ataque. Estes são os seguintes:

  • O XSS persistente (ou armazenado), onde o código injetado pelo invasor é armazenado no servidor permanentemente.
  • O XSS Não Persistente (ou Reflexivo), em que o ataque é feito por meio de uma URL criada que o usuário final é induzido a usar.
  • O XSS baseado em DOM (ou XSS do lado do cliente) que, como todos os outros tipos, também é executado dentro do navegador do visitante, com a diferença de que altera o DOM do site.

Impacto do XSS de script entre sites

O impacto que qualquer ataque XSS pode ter varia de acordo com uma série de fatores. Um dos maiores será a sensibilidade dos dados armazenados e que são alvo de um ataque. Comentários em um fórum sobre culinária são claramente menos sensíveis do que segredos mantidos em um site do governo nacional!

Normalmente, o alvo de um ataque XSS é um indivíduo que usa um site ou aplicativo. Dependendo do tipo de ataque e do script injetado, o invasor pode roubar os cookies de sessão da vítima e dados pessoais, como credenciais de acesso. Um ataque também pode tentar remover informações confidenciais, como dados de cartão de crédito (supondo que isso esteja presente).

O que é particularmente horrível nos ataques XSS é que eles são efetivamente mascarados... então, o usuário visado pode aparecer como o indivíduo que pode estar causando danos maliciosos quando, provavelmente, eles não têm ideia de que algo está errado.

Claramente, o impacto disso pode ser significativo em um negócio. Qualquer hack que danifique um site e potencialmente revele informações confidenciais é uma má notícia. O quão ruim dependerá da gravidade do ataque e do impacto em seus clientes.

Proteja seu site WordPress contra ataques XSS

Sites WordPress sofrem seu quinhão de ataques XSS. Em parte, isso se deve ao grande número de sites que usam WordPress (atualmente 43,1% em todo o mundo). Também é resultado das muitas vulnerabilidades XSS que muitos plugins do WordPress possuem. Por sua vez, isso significa, estatisticamente falando, que quanto mais plugins forem usados ​​em um site WordPress, maiores serão as chances de sofrer um ataque XSS.

Por causa disso, geralmente tudo o que você precisa para reduzir a vulnerabilidade XSS do seu site WordPress ao mínimo é validar e higienizar qualquer variável que possa ser incluída em um URL do invasor. Aqui estão algumas dicas genéricas junto com outras soluções mais especializadas que você pode aplicar ao seu site para ajudar a protegê-lo.

Mantenha-se atualizado!

É super crucial para a segurança do seu site garantir que você mantenha seus arquivos principais, plugins e temas atualizados para a versão mais recente. Ao fazer isso, você reduz o risco de todas as formas de ataque ao seu site, principalmente os ataques XSS.

Para obter mais detalhes sobre as etapas gerais que você pode seguir para proteger seu site WordPress, confira nosso artigo Como proteger seu site WordPress.

Implante o plug-in 'Prevenir Vulnerabilidade XSS'

Talvez sem surpresa (como este é o WordPress) foi desenvolvido um plugin que pode ajudar a reduzir o risco de ataques XSS. Chama-se 'Prevenir Vulnerabilidade XSS'

Cross site scripting - Plugin de prevenção de vulnerabilidade XSS

Depois de instalar e ativar o plug-in, vá para a página de configurações, no item de menu “Reflected Cross-site scripting (XSS)” que aparecerá.

O plug-in Prevent XSS por padrão configura um intervalo de entidades que são bloqueadas da URL. Isso ajuda a parar os ataques em suas trilhas. Além das configurações padrão, você pode especificar outras entidades que deseja bloquear no URL.

O mesmo vale para as entidades que o plugin codifica na URL. Você pode excluir entidades que não deseja que sejam codificadas na área de texto fornecida, separando-as com uma vírgula.

Ele também protege vulnerabilidades escapando do HTML no parâmetro $_GET. Portanto, se alguém tentar injetar HTML na URL, não funcionará.

É muito importante quando você instalou o plug-in e terminou de ajustar as configurações que você verifique pelo menos algumas páginas aleatoriamente para garantir que seu site esteja funcionando como deveria. Isso é especialmente crítico se você estiver usando o WooCommerce. Nesse caso, certifique-se de passar por todo o processo de checkout (incluindo o pagamento) para garantir que isso funcione.

Protegendo os dados de saída

Exceto para validar a entrada quando ela é recebida de um visitante, você também deve codificar todas as respostas HTTP que geram os dados. Praticamente, isso significa que cada caractere deve ser convertido em seu nome de entidade HTML.

Se você é um desenvolvedor do WordPress, há um ótimo manual sobre como escapar de dados de saída que vale a pena ler.

Proteção contra ataques XSS com Pressidium

Se você hospedar com o Pressidium, estará automaticamente desfrutando da proteção de nossa Camada de Firewall de Aplicativo Web Gerenciado, que protegerá seu site de várias maneiras, incluindo ataques XSS. Isso permite que você se concentre apenas no seu negócio sem se preocupar com o seu site. Saiba mais sobre os recursos da plataforma Pressidium aqui.