Sendo uma das ameaças mais comuns de segurança cibernética, o cross-site scripting (XSS) atacou quase 75% das grandes empresas em 2019. Além disso, quase 40% de todos os ataques cibernéticos foram realizados para atingir vulnerabilidades XSS.
O script entre sites afetou sites administrados por gigantes da web como eBay, Google, Facebook e Twitter. Mas o script entre sites não é uma nova ameaça cibernética. Na verdade, os ataques XSS existem quase desde o início da própria web.
Para ajudá-lo a evitar ataques XSS, este guia se concentra em tudo o que você precisa saber sobre scripts entre sites. Depois de ler este guia, você terá uma ideia melhor de como os scripts entre sites funcionam e como você pode proteger seu site WordPress.
O que é Cross-site Scripting (XSS)?
Cross-site scripting (XSS) refere-se ao tipo de ataques cibernéticos em que scripts maliciosos estão sendo injetados em sites confiáveis
Ataques de script entre sites são possíveis em HTML, Flash, ActiveX e CSS. No entanto, o JavaScript é o alvo mais comum dos cibercriminosos porque é fundamental para a maioria das experiências de navegação.
JavaScript é uma linguagem de programação que permite implementar recursos complexos em seu site. A maioria dos sites na web que são grandes e interativos foram construídos com JavaScript. “Você pode desenvolver recursos interativos no local, jogos ou adicionar funcionalidades extras para comercializar melhor seus produtos”, diz Domantas Gudeliauskas, gerente de marketing do projeto Zyro .
JavaScript é tão popular entre a comunidade da web porque permite que você faça praticamente qualquer coisa em uma página da web. E é aí que se torna problemático. Os cibercriminosos podem usar JavaScript para fazer login no verso de suas páginas da web e inserir scripts maliciosos.
Como funciona o script entre sites?
Existem duas maneiras pelas quais os cibercriminosos realizam ataques XSS em sites WordPress. Eles podem explorar a entrada do usuário ou ignorar as políticas de mesma origem. Vamos dar uma olhada em ambos os métodos para entender melhor o script entre sites.
Manipulando a entrada do usuário
A maneira mais comum de os cibercriminosos realizarem ataques XSS é explorando as entradas do usuário. A maioria dos sites WordPress tem campos de entrada do usuário, como barras de pesquisa, formulários de comentários, páginas de login e formulários de contato. O campo de entrada é normalmente ativado pelo plugin ou tema WordPress com JavaScript ativo em seu site.
O problema é que nem todos os plugins e temas do WordPress são 100% seguros e muitos deles, de fato, possuem vulnerabilidades XSS. O que isso significa para você é que os cibercriminosos podem utilizar as vulnerabilidades do WordPress em campos de entrada para executar atividades maliciosas.
Idealmente, uma barra de pesquisa do site (ou qualquer outro campo de entrada do usuário) deve aceitar apenas texto simples, não comandos, como entrada. No entanto, o WordPress possui uma vulnerabilidade de entrada do usuário, que permite que hackers insiram um código executivo no campo de entrada e o enviem para o banco de dados.
Ignorando as Políticas de Mesma Origem
A política de mesma origem restringe uma página para recuperar informações de outras páginas da web. De acordo com a política, os navegadores da web permitem que scripts contidos na primeira página da web acessem dados em uma segunda página da web apenas se compartilharem a mesma origem. Isso ajuda a garantir que nenhuma solicitação entre sites seja feita.
A política afirma que, se você tiver sua página do Facebook e banco online abertos no mesmo navegador, os dois sites não poderão compartilhar informações entre si. No entanto, se você tiver várias guias do Facebook (que compartilham a mesma origem) abertas, elas podem trocar scripts e outros dados entre si.
Apesar da política de mesma origem e de outras medidas de segurança adotadas para evitar solicitações entre sites, os cibercriminosos encontraram uma maneira de contornar a política usando cookies de sessão. Isso funciona porque toda vez que você abre um navegador, ele gera um cookie de sessão para validá-lo como usuário do site e ajudá-lo a passar de uma página para outra sem problemas.
Os cookies de sessão armazenam credenciais de login (inclusive para seu site WordPress), informações de cartão de crédito, detalhes de envio e outros dados confidenciais. Aqui está como funciona. Digamos que você queira fazer login na sua conta bancária online. Quando você abre o site, um cookie de sessão está sendo gerado. Se não fossem os cookies de sessão, você teria que fazer login na sua conta bancária online toda vez que quisesse mudar de página.
Não é incomum que os navegadores dos usuários tenham vulnerabilidades. E se houver algum, os cibercriminosos usam o código que injetaram na entrada do usuário para roubar cookies de sessão. Dessa forma, os hackers podem roubar cookies de todos os sites abertos no navegador do usuário. Em seguida, esses cookies podem ser usados
Por que o script entre sites é perigoso?
O script entre sites é uma das vulnerabilidades de alto risco mais comuns do WordPress. Os ataques XSS são tão comuns porque, ao contrário de outras vulnerabilidades de segurança, são muito complexos de resolver. Mesmo quando você tem proteção integrada, é muito fácil cometer erros que habilitam scripts entre sites. Apenas um erro no HTML ou JavaScript de sua página da web pode tornar seu site vulnerável a ataques de script entre sites.
Quando os invasores encontram uma maneira de explorar vulnerabilidades XSS, eles podem roubar credenciais de contas, dados financeiros e facilitar golpes de phishing. Eles também podem espalhar worms de computador ou obter acesso remoto aos computadores dos usuários. Além disso, os ataques XSS permitem que os hackers realizem o seguinte:
- Sequestrar contas de usuário
- Espalhe malware
- Controlar o computador do usuário remotamente
- Escaneie e explore aplicativos de intranet
Os ataques XSS são comumente vistos como menos perigosos do que as injeções de SQL. No entanto, quando combinado com a engenharia social, o script entre sites permite que os cibercriminosos realizem ataques avançados e extremamente perigosos, incluindo o plantio de trojans, keylogging, phishing, roubo de identidade e falsificação de solicitações entre sites.
Para combater os ataques XSS, grandes empresas de TI lançam programas especiais de recompensas por bugs. Esses programas são implementados por muitas organizações e oferecem compensação ou reconhecimento aos usuários que relatam vulnerabilidades XSS em scripts. Dessa forma, as empresas estão investindo em segurança cibernética fazendo com que outros desenvolvedores identifiquem seus bugs. O Google até lançou um jogo onde você pode se exercitar para despachar bugs XSS.
Tipos de ataques XSS
Existem três tipos principais de ataques de script entre sites: refletido, armazenado e XSS baseado em DOM. Para ter uma melhor perspectiva de como o XSS funciona, vamos dar uma olhada em cada tipo de vulnerabilidade XSS.
Scripts entre sites armazenados
Uma vulnerabilidade XSS armazenada (também conhecida como Persistente ou Tipo I) ocorre quando a entrada do usuário é armazenada em um banco de dados, campo de comentários, log de visitantes ou outros servidores de destino. E então uma vítima pode recuperar os dados armazenados (que não foram tornados seguros para renderização no navegador) do aplicativo da web. Dessa forma, quando um hacker realiza um ataque, a carga útil não fica visível para o filtro XSS do navegador e as vítimas podem acionar acidentalmente a carga útil se visitarem a página afetada.
Scripts entre sites refletidos
Uma vulnerabilidade XSS refletida (também conhecida como Não persistente ou Tipo II) ocorre quando um aplicativo da Web retorna imediatamente a entrada do usuário em um resultado de pesquisa, mensagem de erro ou qualquer outra resposta. Nesse caso, os dados de entrada do usuário são refletidos sem serem armazenados, permitindo que hackers injetem scripts XSS maliciosos. Ao contrário do XSS armazenado, o XSS refletido tem como alvo o próprio site e não os visitantes do site.
XSS baseado em DOM
A vulnerabilidade XSS baseada em TA DOM (também conhecida como Tipo 0) ocorre no DOM (Document Object Model) e não na parte do HTML. A fonte onde o código malicioso é lido pode ser um URL ou um elemento específico do HTML.
Como evitar ataques de script entre sites?
Agora, já que você cobriu os fundamentos do XSS, vamos dar uma olhada nas formas comprovadas de prevenir ataques XSS.
Existem várias maneiras de proteger seu site WordPress contra ataques XSS. Se você tiver conhecimento técnico avançado, poderá adicionar trechos de código para validar e limpar as entradas do usuário. No entanto, se você não estiver familiarizado com a parte técnica do WordPress, é melhor delegar o trabalho para sua equipe de tecnologia ou contratar um profissional que possa tomar essas medidas para você.
Enquanto isso, há duas coisas que você pode fazer para evitar ataques de script entre sites.
Instale um plug-in de segurança
Instalar um plugin WordPress de segurança é o primeiro passo para a segurança máxima do seu site WordPress. Ao escolher um plug-in de segurança, use esta lista de verificação como referência para garantir que o plug-in tenha a funcionalidade necessária para manter seu site seguro.
- Um plug-in verifica regularmente seu site em busca de malware.
- Um plugin usa firewalls para bloquear qualquer tráfego que pareça malicioso.
- Um plugin é capaz de implementar medidas de proteção do WordPress.
- Um plugin permite que você gerencie todas as atualizações do WordPress.
- Um plug-in faz backup do seu site WordPress, portanto, em caso de ataque, você pode restaurar seu site.
Instale um plug-in dedicado
Instalar um plug-in anti-XSS é outra maneira de evitar scripts entre sites. Os plug-ins Anti-XSS funcionam bloqueando parâmetros que são comumente usados
Conclusão – 39% de todas as vulnerabilidades do WordPress estão relacionadas a problemas de script entre sites. As empresas perdem milhões de dólares tentando combater as consequências dos ataques de script entre sites. Para evitar ataques XSS direcionados ao seu site, é importante entender o que são scripts entre sites e tomar medidas preventivas.
Para manter seu site protegido contra scripts entre sites, você deve validar e higienizar seus campos de entrada. Além disso, você pode instalar segurança e plugins anti-XSS dedicados que o ajudarão a manter seu site WordPress seguro.