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

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

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

1599 WordPress - o provedorPluginsWordfence de segurança tem mais de 14 meses análises e a fraqueza mais comum de todas foram as chamadas Vulnerabilidades do XSS. Quase 47 por cento das lacunas encontradas estavam relacionadas com o cross-site scripting - XSS para abreviar. Motivo suficiente para analisar mais de perto o tipo de ataque em que os hackers se infiltram no seu site com código malicioso e praticamente o sequestram. 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 é Wordfencea vulnerabilidade mais comumente encontrada no PluginsXSS.
XSS é ruidosamente Wordfencea vulnerabilidade mais comumente encontrada em PluginsXSS.

As vulnerabilidades XSS tornam-se sempre perigosas quando a entrada do utilizador é encaminhada para o servidor Web sem verificação, por exemplo, em formulários de contacto ou campos de comentários. Uma vez bem sucedidos, 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.

XSS é igualmente relevante para os visitantes e 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 é contrabandeado nesses pontos nevrálgicos, que - se a entrada do usuário não for verificada criticamente, por exemplo, por um firewall - pode infectar o site. Os diferentes tipos de ataques XSS são descritos no nosso artigo de fundo sobre o assunto.

Mais importante: Actualizações -RegularesWordPress

As vulnerabilidades usadas pelos hackers para introduzir o código malicioso estão no WordPress núcleo, em Pluginsou em Themes. É exactamente por isso que actualização periódica de todos estes componentes também são tão importantes. Porque nestas actualizações, os pontos fracos que foram encontrados até agora estão a ser corrigidos.

Também faz sentido ler regularmente os detalhes das actualizações dos respectivos fabricantes para ter uma ideia das falhas de segurança que são regularmente fechadas pelas actualizações. Para a manutenção e atualizações de segurança de WordPress -Core, esta informação é armazenada, por exemplo, no WordPress -blog. O melhor exemplo é a última atualização de segurança, WordPress 4.7.5.

Firewalls e whitelists contra simples ataques XSS

Outra simples medida de proteção contra ataques XSS são os chamados Firewalls de aplicação webou WAF. Estas firewalls são o coração de uma grande segurançaPlugins e são alimentadas com as mais recentes vulnerabilidades pela respectiva equipa de investigação do fabricante. A WAF é, em geral, um procedimento que Aplicações Web de ataques através do Transferência de Hipertexto Protocolo (HTTP) protege.

Mas mesmo estes mecanismos de protecção têm os seus limites. Pois em 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 sobre cadeias de caracteres suspeitos digitalizado e classificado se necessário.

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

Atualizações regulares fecham as falhas de segurança XSS existentes e as firewalls e listas brancas tentam filtrar o código malicioso antes que ele chegue ao servidor web e possa infectar o site. No entanto, 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. 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 protegido usando o chamado bibliotecas de sanitização deve ser ajustado. Isto é feito instalando um Plugincódigo no servidor e integrando código adicional no código fonte da sua página. O seguinte trecho de código será então adicionado aos atributos permitidos, por exemplo:

Este é o aspecto do código de configuração necessário para realizar uma higienização do código.
É assim que pode parecer o código necessário para realizar uma higienização de código.

Conhecimento de programação é necessário para implementar isto. Um desenvolvedor ou CTO, por exemplo, pode facilmente implementar esta proteção de saída de dados.

Um grau saudável de cepticismo: Como os usuários se protegem

Mas não só os operadores do site, mas também os visitantes do site 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". Os usuários têm a possibilidade, por exemplo, NoScript Addons para usar. Estes impedem a execução de scripts, ou seja, as linhas maliciosas de código que roubam dados, por exemplo.

Se você quer 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 seu navegador. Porque é isso que se chama roteirização ativa está desativado, certos tipos de ataques XSS não têm mais chance porque as aplicações maliciosas nem sequer são iniciadas. No entanto, a maioria dos sites modernos já não "funcionam" adequadamente - ou, no pior dos casos, não funcionam de todo. Por isso, aqui é necessário ponderar os aspectos de segurança e usabilidade.

É assim que se desactiva o JavaScript com um clique nas definições do navegador Chrome.
É assim que se desactiva o JavaScript com um clique nas definições do navegador Chrome.

Conclusão: os ataques XSS são em parte muito complexos, mas a protecção é em parte bastante simples

XSS representa um perigo para si como operador de um website, bem como para os seus visitantes e clientes. Uma e outra vez os pontos fracos Pluginsou tornam-se Themesconhecidos. Por exemplo, com o Plugin Estatísticas WPcom mais de 400.000 instalações activas, ou com WooCommerce e jetpackcom mais de três milhões de instalações activas cada uma.

Mas se você se Pluginsmantiver Themesatualizado e usar 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 de saída, você já garantiu seu site perfeitamente. 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 o bastante primitivo Brute Force Ataques os ataques XSS mais complexos ainda são, infelizmente, relativamente frequentes e bem sucedidos. No entanto, há um número significativamente menor destes chamados Ataques Complexos do que Brute Force Ataques a WordPress -Páginas dá. Mesmo assim, você deve dificultar ao máximo os atacantes. Um hack de sucesso não só custa tempo e dinheiro para remover os scripts, mas também pode comprometer a sua posição nos motores de busca.

Talvez você já tenha tido experiência 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 * .