Cross-Site Scripting: um guia para usuários do WordPress
Publicados: 2021-04-21Se você está preocupado com o cross-site scripting e como isso afeta seu site WordPress, você definitivamente não está sendo paranóico. Embora a vulnerabilidade de cross-site scripting (também conhecido como XSS) não seja exclusiva dos proprietários de sites WordPress, é extremamente importante entender seus potenciais impactos negativos em sites WordPress.
Neste guia, analisaremos as vulnerabilidades de cross-site scripting (XSS) nas quais você precisa ficar de olho. Parte disso vai ficar um pouco técnico, mas no final do guia, você será capaz de tomar uma decisão informada sobre a segurança geral do seu site WordPress no que se refere ao cross-site scripting. Além disso, você saberá exatamente o que fazer para evitar um ataque.
Agora, vamos mergulhar.
O que é Cross-Site Scripting (XSS)?
Cross-site scripting (XSS) é um tipo de ataque de malware executado explorando vulnerabilidades entre sites em qualquer site WordPress. Na verdade, é a maneira mais comum de sites do WordPress serem hackeados porque há muitos plug-ins do WordPress com vulnerabilidades de XSS.Cross-Site Scripting Explicado
O que é cross site scripting em termos ainda mais técnicos?
As vulnerabilidades de cross-site scripting permitem que código JavaScript externo seja executado em um site. Isso pode ser muito difícil para os proprietários de sites WordPress capturarem porque os ataques que exploram a vulnerabilidade podem ser de vários tipos diferentes.
Isso é ainda mais verdadeiro se você estiver executando um site WordPress muito grande ou complexo com muitos plug-ins que funcionam em uníssono.
Os muitos tipos diferentes de ataques XSS podem ser resumidos em duas categorias distintas:
- Script malicioso executado no navegador do lado do cliente
- Script malicioso que é armazenado e executado em seu servidor e, em seguida, servido por um navegador
Em qualquer um desses casos, o hack usa um ataque de script entre sites para manipular a maneira como o site funciona ou até mesmo roubar dados essenciais do site.
O que torna os ataques XSS comuns em sites WordPress?
Como usuário do WordPress, você já deve saber como alguns plug-ins do WordPress são complexos. Na verdade, alguns plug-ins que você está usando são ainda mais complexos do que o próprio núcleo do WordPress.
Infelizmente, quanto mais complexo o plugin do WordPress, maior a possibilidade de você enfrentar problemas de segurança. Os autores de plug-ins sabem como é difícil se proteger contra ataques XSS e isso realmente torna seu trabalho um desafio.
Alguns dos gigantes da tecnologia mais conceituados, como Facebook, Apple e Google, já sofreram ataques XSS no passado. Na verdade, eles empregam equipes de segurança inteiras dedicadas para minimizar os riscos desses ataques.
Isso deve ajudar a colocar as coisas em mais perspectiva sobre a facilidade com que um ataque pode se infiltrar em um plugin do WordPress, com muito menos recursos de segurança do que os gigantes da tecnologia.
Você provavelmente está se perguntando o quão vulnerável seu site é a ataques de script entre sites.
Primeiro, é importante observar que, se você estiver mantendo todos os seus temas e plug-ins totalmente atualizados, você já reduziu significativamente o risco. No entanto, não há uma maneira garantida de proteção total contra um ataque XSS.
A maioria dos sites WordPress tem vulnerabilidades que não são públicas e que os hackers podem explorar. Por isso, as varreduras regulares do seu site são de vital importância. Mais sobre isso mais tarde.

Embora o dano que os hackers possam causar com um ataque de script entre sites dependa dos detalhes exatos de seu objetivo final, nos piores casos, todo o site pode ser assumido.
Em outros casos, os hackers farão pequenas alterações em um site ou até mesmo redirecionarão um site para um site malicioso que eles configuraram.
Em outras palavras, os hackers que exploram as vulnerabilidades de script entre sites do WordPress sabem como:
- Sequestrar as sessões de seus usuários detectando IDs de sessão
- Coloque redirecionamentos e pop-ups que você não autorizou
- Ataques maliciosos de phishing
- Registre cada pressionamento de tecla de sua vítima instalando keyloggers
- Roube suas informações financeiras ou as informações financeiras de um usuário do site
Quais são os tipos de script entre sites?
Nem todos os ataques XSS são igualmente perigosos. Na verdade, alguns são muito mais perigosos do que outros.
Em alguns ataques, os hackers terão acesso total ao seu site WordPress. Nesse ponto, eles podem basicamente fazer o que quiserem com ele.Em outros casos, o ataque permitirá que um hacker modifique uma parte do seu site. Embora não seja tão perigoso quanto um hack XSS de site completo, isso também pode ser muito perigoso porque servirá malware para todos os seus visitantes.
Diferentes ataques de script entre sites exigem que um hacker seja um membro contribuinte do site. Em casos como esses, o perigo representado é significativamente menor.
Como funciona o Cross Site Scripting?
Hackers experientes encontram vulnerabilidades no site usando ferramentas automatizadas. Depois que eles descobrem as vulnerabilidades, torna-se uma simples questão de executar o hack desejado.
Infelizmente, todo o processo de hacking pode ser executado por bots.
Existem cinco maneiras diferentes de os hackers usarem o XSS para realizar seus objetivos.
1. Invadir uma sessão de usuário
Um ataque XSS pode ajudar os hackers a obter acesso aos cookies. O aspecto mais perigoso disso é que esse tipo de ataque revelou o ID de sessão de um usuário.
A maioria dos sites utiliza sessões para cada usuário do site para definir um identificador único. As sessões são armazenadas em cookies de sessão usando um script.
Os hackers podem enviar um cookie de sessão para o site específico, por exemplo, http://198.178.260.468/ e a solicitação é registrada no arquivo access.log do servidor.
Quando o hacker usa as informações da sessão, ele pode fazer login em qualquer uma das contas em que você se conectou sem a necessidade de uma senha.
2. Execução de atividade não autorizada
Em alguns casos, os hackers não conseguem usar JavaScript para roubar o cookie desejado. Nesses casos, eles tentarão utilizar ataques XSS para executar atividades não autorizadas.
Por exemplo, eles podem usar um script que faz com que uma mensagem apareça em sua seção de comentários e continue a ser postada repetidamente.
Esse tipo de ataque de script cruzado geralmente assume a forma de um script malicioso que se espalha como um vírus para seus usuários. Também pode ser usado para desfigurar seu site.
3. Ataques de phishing
Freqüentemente, as vulnerabilidades de cross site scripting do WordPress levam os hackers a um esquema muito maior do que um simples ataque XSS.
Os scripts entre sites podem levar a ataques de phishing em seu site.
Normalmente, um script malicioso começa a enviar um golpe de phishing em seu site WordPress que engana os usuários para que forneçam informações altamente confidenciais.
Este é um ataque muito perigoso.
4. Instalação do Keylogger
Esse tipo de ataque envolve um hacker implementando um script que instalará um keylogger em um site WordPress vulnerável.
Cada vez que seu usuário digita algo, este keylogger armazena as informações e as transmite ao hacker. É uma maneira rápida e fácil de roubar informações de cartão de crédito, senhas, informações médicas e muito mais.
5. Roubo de informações confidenciais
Discutimos sobre cookies e como eles são roubados. Mas esse ataque específico leva esse princípio a um nível diferente.
Imagine um cenário em que a página de “internet banking” da sua cooperativa de crédito está sob um ataque XSS. Se um hacker usa um script específico, um hacker pode entrar diretamente em sua conta corrente sem validação.
Embora este não seja um conceito novo, é uma extensão do que os hackers são capazes de realizar usando cookies de sessão.
Como faço para proteger meu site WordPress de ataques de script entre sites?
O verdadeiro problema é que os hackers profissionais continuam a criar variações mais sábias de texto malicioso que agora podem contornar até mesmo a melhor prevenção de script entre sites.
É realmente uma espécie de jogo de gato e rato.
A melhor maneira de detectar ataques XSS é usar um plug-in como o iThemes Security Pro O iThemes Security Pro possui vários recursos de segurança de sites para construir sua linha de frente de defesa contra ataques de script entre sites. (mais sobre isso em breve).
Também é extremamente importante combinar sua defesa com um plugin de backup do WordPress como BackupBudy, que pode restaurar um ponto anterior na história do seu site, se o pior acontecer.
Obviamente, em um mundo perfeito, hacks como esse nunca aconteceriam. Mas os ataques XSS são incrivelmente difíceis de proteger, o que torna a segurança reforçada do WordPress sua maior prioridade.
Como funcionam os ataques XSS
A forma como um ataque funciona depende do tipo de ataque lançado pelo hacker. E embora existam vários tipos de script entre sites, todos eles utilizam JavaScript para espalhar malware malicioso.Se você não estiver familiarizado com JavaScript, é uma linguagem que fica entre o código HTML do seu site. É capaz de criar variáveis específicas que realizam cálculos robustos.
Na verdade, um desenvolvedor pode usar JavaScript para realizar quase todas as funções imagináveis.
Por exemplo, um site WooCommerce que recebe pagamentos e os armazena em um banco de dados pode usar JavaScript para enviar informações de login e detalhes de pagamento a uma pessoa diferente.
Quando os hackers exploram esta vulnerabilidade no código do seu site para executar JavaScript, é um ataque XSS total. Esse tipo de vulnerabilidade normalmente ocorre em quase qualquer lugar em seu site onde os usuários inserem dados, incluindo na forma de:
- Popups
- Formulários de informação
- Barras de busca
- URLs
Lembre-se de que o campo de entrada de dados não precisa ser necessariamente visual. Em alguns casos, pode ser uma variável com defeito no código do site que chama dados não limpos de um banco de dados ou de qualquer outro arquivo.
Ataques XSS persistentes ou armazenados
Suponha por um momento que o seu site seja um blog com uma seção de comentários aberta. Se um de seus usuários deixar um comentário para você, esses dados serão enviados para o banco de dados e armazenados.
É importante que seu site seja configurado para limpar esses dados antes de serem armazenados em seu banco de dados. Em outras palavras, ele deve verificar se o usuário inseriu um comentário legítimo ou se é um script malicioso.
Sem essa verificação, ele pode abrir uma falha de XSS no WordPress.
É assim que funciona:
1. Hacker localiza e explora a vulnerabilidade
Os hackers empregam scanners que pesquisam na Internet e localizam sites que apresentam vulnerabilidades a ataques de script entre sites. Assim que um site é encontrado, scripts maliciosos são plantados na seção de comentários do site.
Sem qualquer verificação, seu site pega o script malicioso e o envia para o banco de dados.
2. Visitantes visualizam sua página infectada
Para um visitante médio do site, os dados de um hacker parecem um comentário padrão. O que este visitante não sabe é que um simples comentário é um código executável que irá roubar cookies.
Qualquer pessoa que visitar a página será afetada negativamente.
3. Roubo de cookies do navegador
A maioria dos usuários costuma ter várias guias abertas em seus navegadores o tempo todo, para coisas como mídia social, e-mail, Amazon, YouTube e o site de seus empregadores.
Quando um usuário visita um site infectado e visualiza a página que contém o comentário de um hacker, o código é executado imediatamente e permite que um hacker roube os cookies do navegador.
O ataque é chamado de ataque entre sites porque eles são capazes de roubar os cookies de todos os sites abertos em qualquer guia.
4. Explorando os cookies roubados
Usando os cookies roubados, um hacker se apresenta como um usuário de site autenticado em, por exemplo, sites de compras para fazer compras ilegais.
Os invasores também podem roubar informações de contas, como senhas e nomes de usuário, e invadir e-mails para enviar e-mails de phishing para uma lista de contatos inteira.
As possibilidades maliciosas são aparentemente infinitas.
Ataques XSS não persistentes ou reflexivos
Este não é um ataque aos visitantes do site, mas um ataque ao site.
Se você é proprietário de um site WordPress, provavelmente tem várias guias do navegador abertas.
Freqüentemente, o painel de administração do WordPress é apenas uma das muitas guias diferentes que você costuma deixar abertas. E é exatamente isso que torna possíveis os ataques XSS reflexivos.

É assim que acontece:
1. O proprietário do site é atraído para um link malicioso
Em alguns casos, um hacker enviará um link malicioso para seu e-mail na esperança de que você caia em seu pequeno truque.
Em outros casos, os hackers colocarão links maliciosos em outros sites.
Se você clicar em um desses links, um script carrega em seu site WordPress de um site externo.
2. Pegando Cookies de Sessão
Ao clicar no link malicioso, você executa o código que eles empregaram. Isso permitirá que o hacker roube seus cookies e obtenha acesso à conta de administrador do seu site WordPress.
Depois de obterem acesso administrativo total ao site, eles podem facilmente roubar dados confidenciais e credenciais de login. Eles podem até bloqueá-lo fora do seu site ou usá-lo para executar uma série de hacks diferentes.
O que é assustador é que eles serão feitos em seu nome.
Um ataque XSS executado corretamente terá consequências graves para o seu negócio e para o seu site e pode danificar irreparavelmente a sua credibilidade. A recuperação desses ataques pode consumir muito do seu precioso tempo e do dinheiro que você ganhou com dificuldade.
É por isso que é tão importante tomar todas as precauções possíveis contra isso.
Prevenção de script entre sites do WordPress: 5 etapas
Não há uma maneira fácil de dizer isso, mas não existe um plano infalível para evitar o crime cibernético. A melhor coisa a fazer é ter um plano sólido para as auditorias de segurança de rotina do WordPress. Sua primeira etapa para evitar ataques XSS é começar a se preparar agora com essas etapas.
1. Baixe e instale o plugin iThemes Security Pro
Para começar a proteger e proteger seu site, baixe e instale o plugin iThemes Security Pro.
Obtenha o iThemes Security Pro agora
2. Proteja seus usuários contra sequestro de sessão
Simplificando: você deve ter proteção contra sequestro de sessão para seus administradores e editores em seu site WordPress.Porque? Como mencionamos antes, ordPress gera um cookie de sessão toda vez que você faz login em seu site. E digamos que você tenha uma extensão de navegador que foi abandonada pelo desenvolvedor e não está mais lançando atualizações de segurança. Infelizmente para você, a extensão do navegador negligenciada tem uma vulnerabilidade. A vulnerabilidade permite que atores mal-intencionados sequestrem os cookies do seu navegador, incluindo o cookie de sessão do WordPress mencionado anteriormente. Novamente, esse tipo de hack é conhecido como Session Hijacking . Portanto, um invasor pode explorar a vulnerabilidade da extensão para pegar carona em seu login e começar a fazer alterações maliciosas com seu usuário do WordPress.
O recurso de dispositivos confiáveis do iThemes Security Pro torna o sequestro de sessão uma coisa do passado. Se o dispositivo de um usuário for alterado durante uma sessão, o iThemes Security desconectará automaticamente o usuário para evitar qualquer atividade não autorizada na conta do usuário, como alterar o endereço de e-mail do usuário ou enviar plug-ins maliciosos.
O recurso Dispositivos confiáveis no iThemes Security Pro funciona para identificar os dispositivos que você e outros usuários usam para fazer login no seu site WordPress. Depois que seus dispositivos são identificados, podemos impedir que sequestradores de sessão e outros agentes mal-intencionados causem danos ao seu site.
Quando um usuário faz login em um dispositivo não reconhecido, os Dispositivos confiáveis podem restringir seus recursos de nível de administrador. Isso significa que se um invasor conseguisse invadir o back-end do seu site WordPress, ele não teria a capacidade de fazer alterações maliciosas em seu site.
Nesse cenário, você receberá um e-mail informando que alguém se conectou ao seu site a partir de um dispositivo não reconhecido. O e-mail inclui uma opção para bloquear o dispositivo do hacker. Então você pode apenas rir e rir, sabendo que você arruinou o dia de um bandido.
Outro benefício dos dispositivos confiáveis é que ele torna o sequestro de sessão uma coisa do passado. Se o dispositivo de um usuário for alterado durante uma sessão, o iThemes Security desconectará automaticamente o usuário para evitar qualquer atividade não autorizada na conta do usuário, como alterar o endereço de e-mail do usuário ou enviar plug-ins maliciosos.
Para começar a usar Dispositivos confiáveis, habilite-os na página principal das configurações de segurança e clique no botão Definir configurações .

Nas configurações de Dispositivos confiáveis, decida quais usuários deseja usar o recurso e ative os recursos Restringir recursos e Proteção contra sequestro de sessão .

Depois de habilitar a nova configuração Dispositivos confiáveis, os usuários receberão uma notificação na barra de administração do WordPress sobre dispositivos pendentes não reconhecidos. Se o seu dispositivo atual não foi adicionado à lista de dispositivos confiáveis, clique no link Confirmar este dispositivo para enviar o e-mail de autorização.

Clique no botão Confirmar dispositivo no e-mail de login não reconhecido para adicionar seus dispositivos atuais à lista Dispositivos confiáveis.

Uma vez que Dispositivos confiáveis é habilitado, os usuários podem gerenciar os dispositivos de sua página de perfil de usuário do WordPress. Nessa tela, você pode aprovar ou negar dispositivos da lista Dispositivos confiáveis.

Além disso, você tem a opção de se inscrever em algumas APIs de terceiros para melhorar a precisão da identificação de dispositivos confiáveis e usar mapas de imagem estática para exibir a localização aproximada de um login não reconhecido. Confira a configuração de Dispositivos confiáveis para ver quais integrações estão disponíveis,

3. Ative o gerenciamento de versão para manter seus temas e plug-ins atualizados
É difícil controlar todas as vulnerabilidades do WordPress divulgadas - nós as monitoramos e compartilhamos em nossos Roundups de vulnerabilidades do WordPress - e comparamos essa lista com as versões de plug-ins e temas que você instalou em seu site. No entanto, isso não impede que os hackers do WordPress almejem plug-ins e temas com vulnerabilidades conhecidas. Ter software com vulnerabilidades conhecidas instalado em seu site dá aos hackers os planos de que precisam para assumir o controle de seu site.
O recurso de gerenciamento de versão no iThemes Security Pro permite que você atualize automaticamente o WordPress, plug-ins e temas. Além disso, o gerenciamento de versão também tem opções para proteger o seu site quando você estiver executando um software desatualizado e procurar sites antigos.
Para começar a usar o Gerenciamento de versão, habilite o módulo na página principal das configurações de segurança.

Agora clique no botão Definir configurações para examinar mais de perto as configurações.

4. Ligue o iThemes Security Site Scan
O iThemes Security Pro Site Scan verifica seu site em busca de WordPress, plug-in e vulnerabilidades de tema conhecidas e aplica um patch quando houver um disponível.
Para habilitar a Varredura de Site em novas instalações, navegue até as configurações do iThemes Security Pro e clique no botão Habilitar no módulo de configurações de Varredura de Site .

Para acionar uma verificação manual do site, clique no botão Verificar agora no widget de verificação do site localizado na barra lateral direita das configurações de segurança.

Os resultados da varredura de site serão exibidos no widget.

Se o Site Scan detectar uma vulnerabilidade, clique no link da vulnerabilidade para visualizar a página de detalhes.

Na página de vulnerabilidade do Site Scan, você verá se há uma correção disponível para a vulnerabilidade. Se houver um patch disponível, você pode clicar no botão Atualizar plug-in para aplicar a correção em seu site.
Pode haver um atraso entre o momento em que um patch está disponível e o banco de dados de vulnerabilidades de segurança do iThemes sendo atualizado para refletir a correção. Nesse caso, você pode silenciar a notificação para não receber mais alertas relacionados à vulnerabilidade.
Importante: Você não deve silenciar uma notificação de vulnerabilidade até que tenha confirmado que sua versão atual inclui uma correção de segurança ou a vulnerabilidade não afetará seu site.
5. Ative a detecção de alteração de arquivo
Para começar a monitorar as alterações do arquivo, ative a Detecção de alteração do arquivo na página principal das configurações de segurança.

Assim que a Detecção de alteração de arquivo estiver ativada, o iThemes Security Pro começará a verificar todos os arquivos do seu site em blocos . A varredura de seus arquivos em blocos ajudará a reduzir os recursos necessários para monitorar as alterações nos arquivos.
A verificação de alteração de arquivo inicial criará um índice dos arquivos do seu site e seus hashes de arquivo. Um hash de arquivo é uma versão abreviada e não humana legível do conteúdo do arquivo.
Após a conclusão da varredura inicial, o iThemes Security Pro continuará a examinar seu arquivo em partes. Se um hash de arquivo for alterado em uma das varreduras subsequentes, isso significa que o conteúdo do arquivo foi alterado.
Você também pode executar uma alteração manual de arquivo clicando no botão Verificar arquivos agora nas configurações de Detecção de alteração de arquivo

Conclusão: Scripts entre sites e proteção do seu site WordPress
Esperamos que este guia tenha ajudado você a entender o risco de scripts entre sites em seu site WordPress. Implementando algumas práticas recomendadas de segurança do WordPress, junto com as 5 etapas acima, você terá uma linha de defesa melhor.
Kristen tem escrito tutoriais para ajudar os usuários do WordPress desde 2011. Normalmente, você pode encontrá-la trabalhando em novos artigos para o blog do iThemes ou desenvolvendo recursos para o #WPprosper. Fora do trabalho, Kristen gosta de fazer um diário (ela escreveu dois livros!), Fazer caminhadas e acampar, cozinhar e aventuras diárias com sua família, na esperança de viver uma vida mais presente.
