Ataques XSS: Como se proteger, aos seus clientes e ao seu negócio

Tobias Schüring Última atualização 23.01.2020
5 min.
Desta forma, os operadores e usuários do site podem se proteger contra ataques de scripts entre sites.
Última atualização 23.01.2020

Os ataques XSS são particularmente sorrateiros. E especialmente popular entre os hackers. Mostramos como você pode se proteger contra o sequestro do seu site - como operador do site e como usuário.

1599 WordPress -Plugins foram analisados pelo provedor de segurança Wordfence durante um período de 14 meses, e as vulnerabilidades mais frequentes de todas foram as chamadas vulnerabilidades XSS. Quase 47 por cento das lacunas encontradas tinham a ver com o cross-site scripting - XSS para abreviar. Motivo suficiente para analisar mais de perto este tipo de ataque, no qual os hackers injectam código malicioso no seu site e praticamente o sequestram. Desta forma, os atacantes usam o seu blog, a sua loja ou o site da sua empresa como veículo para as suas actividades ilegais.

Este gráfico mostra que o XSS é a vulnerabilidade mais comum encontrada em Plugins , de acordo com wordfence .
XSS é a vulnerabilidade mais comumente encontrada em Plugins , de acordo com wordfence .

As vulnerabilidades do XSS são sempre perigosas quando a entrada do usuário é encaminhada para o servidor web sem ser verificada, por exemplo, em formulários de contato ou campos de comentários. Uma vez explorados, os hackers podem roubar dados, integrar seu site em uma botnet ou infectar os computadores dos seus visitantes. Felizmente, existem algumas medidas de protecção muito simples contra ataques XSS.

O XSS é relevante tanto para os visitantes como para os operadores do site

É importante compreender que as vulnerabilidades XSS nas WordPress páginas são igualmente relevantes para os operadores e visitantes do site. Os operadores do site são explorados para cumprir as metas de baixo nível dos hackers e os visitantes do site são frequentemente as vítimas, por exemplo, roubando dados ou espalhando código malicioso.

Em princípio, os ataques XSS começam onde os usuários enviam dados para o servidor web do operador do site. O código é injetado nesses pontos nevrálgicos, que - se a entrada do usuário não for verificada criticamente, por exemplo, por um firewall - pode infectar a página. Os diferentes tipos de ataques XSS estão resumidos no nosso artigo de fundo sobre o tema.

Mais importante: actualizações regulares em WordPress

As vulnerabilidades que os hackers usam para injetar código malicioso estão localizadas no núcleo WordPress , em Plugins ou em Themes. É exactamente por isso que as actualizações regulares de todos estes componentes são tão importantes. As vulnerabilidades que foram encontradas até à data são corrigidas nestas actualizações.

Também faz sentido ler regularmente os detalhes de atualização dos respectivos fabricantes para ter uma sensação de que as falhas de segurança são regularmente fechadas através das atualizações. Para as atualizações de manutenção e segurança do núcleo WordPress , estas informações estão documentadas no blog WordPress , por exemplo. O melhor exemplo disso é a última atualização de segurança, WordPress 4.7.5.

Firewalls e whitelists contra simples ataques XSS

Outra medida simples de proteção contra ataques XSS são os chamados firewalls de aplicações web, ou WAF. Estes firewalls são o coração da grande segurançaPlugins e são alimentados com as últimas vulnerabilidades pela respectiva equipa de investigação do fabricante. Um WAF é geralmente um procedimento que protegeaplicações web contra ataques através do Protocolo deTransferência de Hipertexto (HTTP).

No entanto, mesmo estes mecanismos de protecção têm os seus limites. Para alguns ataques XSS, o ataque é feito através da base de dados. Portanto, verificar a entrada de código malicioso pelos usuários é um dos mecanismos centrais de segurança na luta contra ataques XSS. Por exemplo, o conteúdo dos comentários é digitalizado em busca de cadeias de caracteres suspeitas e resolvido, se necessário.

A saída de dados também deve ser assegurada

Atualizações regulares fecham vulnerabilidades XSS existentes e firewalls e whitelists tentam filtrar código malicioso antes que ele possa chegar ao servidor web e infectar o site. Mas a saída de dados também deve ser assegurada em conformidade. A maioria das linguagens de programação e scripting, como PHP, Perl ou JavaScript, já tem funções predefinidas para substituição de caracteres ou mascaramento para este fim. Estes asseguram que os meta-caracteres HTML "problemáticos" (por exemplo < , > e &) são substituídos por referências inofensivas a caracteres. Isto evita que o código malicioso se torne activo. O código também deve ser higienizado usando as chamadas bibliotecas de higienização. Isto envolve a instalação de um Plugin no servidor e a inclusão de código adicional no código fonte da sua página. O seguinte trecho de código garante, por exemplo, que os atributos sejam adicionados aos atributos permitidos:

Isto é o que o código de configuração que você precisa para realizar a higienização do código pode parecer.
É assim que o código que você precisa para realizar a higienização do código pode se parecer.

São necessárias habilidades de programação para implementar isto. Esta proteção de saída de dados pode ser facilmente implementada por um desenvolvedor ou CTO, por exemplo.

Uma dose saudável de cepticismo: Como os usuários se protegem

Mas não só os operadores de páginas, mas também os visitantes das páginas são afectados pelos ataques XSS. Muitos ataques XSS já podem ser evitados através de um manuseio crítico e cuidadoso em conexão com ligações "estrangeiras". Por exemplo, os usuários têm a opção de usar add-ons NoScript .Estes impedem a execução de scripts, ou seja, as linhas de código prejudiciais que roubam dados, por exemplo.

Se você quiser estar do lado seguro, você também pode evitar o uso de scripts cruzados do lado do cliente simplesmente desligando o suporte a JavaScript no navegador. Porque se isto se chama roteirização ativa é desativado, certos tipos de ataques XSS não têm mais chance, pois as aplicações maliciosas nem sequer são iniciadas. No entanto, a maioria dos sites modernos já não "funcionam" correctamente - ou, no pior dos casos, já não funcionam de todo. Aqui é, portanto, necessário ponderar os aspectos de segurança e usabilidade.

Como desactivar o JavaScript com um clique nas definições do navegador Chrome.
Como desactivar o JavaScript com um clique nas definições do navegador Chrome.

Conclusão: os ataques XSS são por vezes muito complexos, mas a protecção é por vezes bastante simples.

XSS é um perigo para si como operador de um website, bem como para os seus visitantes e clientes. Vulnerabilidades repetidas vezes em Plugins ou Themes tornam-se conhecidas. Por exemplo, a Plugin WP Statistics, com mais de 400.000 instalações activas, ou WooCommerce e Jetpack, cada uma com mais de três milhões de instalações activas.

Se você mantém seus Plugins e Themes atualizados e usa um WAF, você já deu um grande passo na direção certa. Se você também usa listas brancas para código de entrada e saída, você já garantiu o seu site de forma excelente. No entanto, as duas últimas medidas em particular não são fáceis de implementar sem conhecimentos de programação.

Em comparação com os ataques bastante primitivos doBrute Force os ataques XSS mais complexos ainda são, infelizmente, relativamente frequentes e bem sucedidos. No entanto, há significativamente menos destes chamados ataques complexos do que os ataques deBrute Force nas páginas WordPress .. No entanto, deve tornar isto o mais difícil possível para os atacantes. Um hack de sucesso não só custa tempo e dinheiro para a remoção dos scripts, mas também pode colocar em risco a sua posição nos motores de busca.

Talvez você já tenha tido experiências com ataques XSS? O que você faz para se proteger deles?

Como administrador do sistema, Tobias zela pela nossa infraestrutura e faz os ajustes necessários para otimizar o desempenho dos nossos servidores. Devido ao seu esforço incansável, ele pode ser frequentemente encontrado na Slack, a nossa "sala de chat da empresa".

Artigos relacionados

Comentários sobre este artigo

Escreve um comentário

O teu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *.