Como corrigir e prevenir ataques XSS no WordPress
Publicados: 2022-06-14Você está preocupado com hackers atacando seu site?
Cross-site scripting, também chamado de XSS, é um dos ataques mais comuns em sites WordPress. Os hackers encontram vulnerabilidades em seu site e as usam para roubar informações e fazer uso indevido de seu site.
O pior é que, se você não corrigi-lo imediatamente, esses hacks podem levar a danos mais graves – do tipo que é realmente difícil de recuperar.
Você pode evitar esses hacks instalando um firewall em seu site WordPress.
Se o seu site já estiver sob ataque, mostraremos como corrigi-lo imediatamente em uma linguagem simples e amigável para iniciantes. Manteremos o jargão de segurança cibernética no mínimo neste tutorial. Também mostraremos como evitar ataques futuros.
Primeiro, vamos entender rapidamente o que acontece em um ataque XSS para que você esteja melhor equipado para lidar com isso.
O que é um ataque XSS no WordPress?
XSS significa Cross Site Scripting, que é um tipo de ataque de injeção em que os hackers injetam scripts maliciosos em um site.
Esses scripts são disfarçados como código bom em um site confiável. Em seguida, quando um usuário acessa este site, seu navegador executa todo o código, incluindo o script malicioso, porque pensa que são instruções confiáveis.
Em termos mais simples, imagine que você é um espião e acabou de receber um e-mail oficial do governo sobre uma missão ultra-secreta. Ele contém todas as instruções que você precisa seguir até o T.
O que você não sabe é que alguém interceptou aquele e-mail e adicionou mais algumas instruções próprias. O governo não tem idéia sobre isso e você não se preocupa em verificar porque confia na fonte.
Algumas não fazem sentido, mas você é treinado para obedecer a todas as ordens para cumprir sua missão.
Nesse cenário, o governo é o seu site e o espião é o navegador do usuário. O navegador segue as instruções do seu site e não consegue diferenciar entre os scripts bons e ruins.
Esses scripts geralmente estão em Javascript, uma das linguagens de programação mais populares e amplamente utilizadas. No entanto, esses ataques podem ocorrer usando qualquer linguagem do lado do cliente.
Agora, existem muitas maneiras de realizar um ataque XSS. Uma maneira é enviar um link para usuários desavisados para fazê-los clicar nele. Uma vez que eles clicam nele, o ataque pode fazer um ou mais dos seguintes:
- Redirecionar usuários para um site malicioso
- Capturar as teclas do usuário
- Execute explorações baseadas em navegador da web
- Roubar informações de cookies do usuário conectado a uma conta
Se o hacker conseguir roubar informações de cookies, ele pode comprometer completamente a conta do usuário. Por exemplo, se você estiver conectado ao painel wp-admin do seu site, o hacker poderá roubar suas credenciais e entrar no seu site.
O que você precisa fazer para evitar esses ataques é garantir que todos os dados do usuário sejam validados e higienizados adequadamente antes de entrarem no seu site. Dessa forma, nenhuma entrada do usuário pode ser um código Javascript malicioso. Além disso, você precisa garantir que não haja vulnerabilidades XSS em seu site que possam permitir que um hacker ataque.
Mal arranhamos a superfície dos ataques XSS, mas esperamos que você tenha uma compreensão decente de como funciona um ataque XSS do WordPress. Agora, se você suspeitar que seu site foi invadido, siga nosso tutorial passo a passo fácil abaixo.
Como encontrar e corrigir um ataque XSS no WordPress
Para encontrar qualquer tipo de malware ou hacks em seu site, você precisará executar uma varredura profunda em todo o site, incluindo seus arquivos e banco de dados.
Usaremos a Sucuri para escanear e limpar seu site invadido. A Sucuri oferece uma configuração de segurança robusta, incluindo firewall, scanner de malware e limpador de malware.
A Sucuri oferece um scanner de malware de site gratuito que você pode instalar dentro do seu site WordPress navegando até Plugins » Adicionar nova guia.
Recomendamos usar o scanner premium do lado do servidor. Isso vai virar seu site do avesso para encontrar qualquer vestígio de malware.
Além disso, aqui estão alguns de seus destaques:
- Monitora spam e scripts maliciosos
- Verifica se há backdoors ocultos criados por hackers
- Detecta alterações feitas no DNS (sistema de nomes de domínio) e SSL
- Verifica listas negras com mecanismos de pesquisa e outras autoridades
- Monitora o tempo de atividade do site
- Alertas instantâneos por e-mail, SMS, Slack e RSS
Para mais detalhes, leia nossa Revisão da Sucuri.
Sucuri vem com um preço de $ 199,99 por ano. Se isso estiver fora do seu orçamento, você pode tentar outros plugins de segurança. Veja nossa lista: 9 melhores plugins de segurança do WordPress comparados.
Ao selecionar um plug-in de segurança, verifique se ele oferece todos os recursos de segurança cibernética necessários para encontrar e corrigir infecções por malware e proteger seu site.
Etapa 1: escaneando seu site
Para começar, você precisará se inscrever em um plano com a Sucuri. Em seguida, faça login no painel da Sucuri, onde você pode adicionar seu site.
Aqui, você precisará conectar seu site inserindo suas credenciais de FTP. Se você não souber suas credenciais de FTP, poderá obtê-las em seu host.
Quando seu site estiver conectado, a Sucuri executará automaticamente uma varredura completa do seu site. Uma vez feito, ele mostrará um relatório detalhado na guia 'Meus sites' .
Agora você pode clicar no botão 'Detalhes' ao lado da mensagem de aviso. Isso abrirá a página Monitoramento , onde você poderá visualizar os detalhes do hack ou infecção.
Etapa 2: solicitar uma limpeza de malware
Na página Monitoramento , você pode ver que tipo de malware infectou seu site. A Sucuri adiciona uma classificação para indicar o nível de risco. Portanto, se for um risco crítico ou alto, você sabe que precisa corrigi-lo imediatamente. Além disso, ele também mostrará se seu site foi colocado na lista negra por algum mecanismo de pesquisa.
Agora que você sabe que seu site está infectado, você precisa limpá-lo e a Sucuri torna isso muito fácil para você. Para iniciar o processo, clique no botão 'Limpar meu site' .
Na próxima página, clique no botão New Malware Removal Request e aparecerá um formulário onde você poderá inserir os detalhes do seu site.
Basta preencher o formulário e enviá-lo. Uma vez feito, os especialistas em segurança da Sucuri irão limpar seu site para você. Caso você não saiba nenhum dos detalhes necessários para o formulário, você pode perguntar ao seu host.
Agora você pode estar se perguntando quanto tempo levaria para limpar seu site.
A Sucuri dá preferência aos usuários do plano Business. Eles garantem um tempo de resposta de 6 horas. Para outros planos, depende da complexidade da infecção do seu site e do volume de solicitações que eles têm na fila.
Imediatamente após um ataque, é altamente recomendável desconectar todos os usuários do seu site e alterar suas credenciais de login para garantir a segurança.
Como prevenir ataques XSS em seu site WordPress
É sempre melhor proteger seu site e evitar esses tipos de ataques de malware em seu site. É muito mais fácil e barato do que tentar consertar um site invadido. Aqui estão nossas principais etapas recomendadas para evitar ataques XSS em seu site.
1. Habilite um firewall de aplicativo da Web (WAF)
A Sucuri possui um dos melhores firewalls para sites WordPress. Ele não apenas bloqueia ataques XSS, mas todos os tipos de outros ataques de malware, como DDoS, Brute Force, Phishing e injeções de SQL.
O firewall ficará na frente do seu site e verificará todos os usuários que passarem. Ele identificará e bloqueará bots ruins antes que eles cheguem ao seu site.
Para habilitar o firewall Sucuri, navegue até a guia Firewall no painel Sucuri.
Selecione seu site e você verá instruções de configuração que você pode seguir. A Sucuri oferece 2 opções para configurar o firewall:
1. Integração Automática: Basta inserir suas credenciais de hospedagem usando cPanel ou Plesk. Este método requer que você conceda acesso à Sucuri ao servidor do seu site para configurar automaticamente o firewall em seu site.
2. Integração Manual: Você pode configurar o firewall por conta própria sem conceder acesso interno à Sucuri. Para começar, clique no link do domínio interno e verifique se ele carrega.
Em seguida, você pode configurar seu DNS para apontar seu tráfego web para o firewall da Sucuri. Para isso, você precisará acessar os registros DNS em sua conta de hospedagem. Aqui, você pode alterar o registro 'A' do seu site e inserir os endereços IP que a Sucuri fornece.
Se você está estressado que isso é muito complicado, você pode pedir ajuda ao seu host e ele o guiará pelo processo. Além disso, você também pode levantar um ticket de suporte com a Sucuri e sua equipe de suporte ajudará você a alterar os registros DNS.
Para abrir um ticket, você encontrará um link dentro das instruções do manual na mesma página.
Depois de configurar o firewall, geralmente leva algumas horas para que as alterações sejam refletidas. Você pode esperar um tempo máximo de espera de 48 horas.
Quando você habilita o firewall, ele adiciona automaticamente cabeçalhos de segurança ao seu site para protegê-lo contra ataques XSS.
Se houver uma tentativa de ataque XSS, a Sucuri irá bloqueá-lo e reportá-lo a você na guia Relatórios .
Agora, o que adoramos no firewall da Sucuri é que é tão fácil de usar para qualquer pessoa, incluindo iniciantes. Você não precisa ser um especialista em segurança cibernética ou conhecer nenhuma codificação.
Você pode ativar todos os tipos de recursos de proteção com apenas um clique na guia Configurações »Segurança .
Assim, por exemplo, você pode habilitar a proteção contra DDoS e o bloqueio geográfico para dificultar o ataque de hackers ao seu site.
Para ativar um recurso de segurança aqui, tudo o que você precisa fazer é marcar a caixa e salvar suas configurações. Quando você precisar desativá-lo, basta desmarcar a caixa.
Além disso, o plugin Sucuri irá:
- Verifique e monitore regularmente spam e códigos maliciosos
- Alertá-lo sobre qualquer vulnerabilidade de script entre sites
- Bloqueie bots e hackers ruins
- Verifique se há listas negras com mecanismos de pesquisa e outras autoridades
- Monitore o tempo de atividade do site
- Detectar alterações feitas no DNS (sistema de nomes de domínio) e SSL
- Envie alertas de segurança instantâneos por e-mail, SMS, Slack e RSS
Assim, seu site estará sempre protegido.
2. Use formulários seguros
Em um site vulnerável, os formulários são um dos alvos mais comuns dos hackers. Se o seu formulário não for seguro, isso significa que qualquer pessoa pode simplesmente inserir código malicioso nos campos do formulário.
Nossa recomendação para proteger os formulários do seu site é o WPForms. É o construtor de formulários nº 1 do WordPress que possui segurança integrada para que seus formulários sejam protegidos desde o início.
Por padrão, os formulários têm a proteção anti-spam ativada. Além disso, você pode até adicionar CAPTCHA aos seus formulários para bloquear bots de spam.
Você pode habilitar um captcha invisível ou o tipo em que um usuário terá que resolver um pequeno quebra-cabeça ou marcar uma caixa para provar que é humano.
3. Defina as permissões de função do usuário
Quando você tem várias pessoas trabalhando em seu site, não é aconselhável dar acesso de administrador a todos. É melhor atribuir funções a eles com base nas permissões de que precisam.
O WordPress permite criar funções para:
- Superadministrador
- Administrador
- editor
- Autor
- Contribuinte
- Assinante
Agora, se um hacker obtiver o controle da conta de um usuário, ele ficará limitado no que pode fazer em seu site.
4. Logout automático de usuários inativos
Os hackers podem obter acesso a contas de usuários sequestrando suas sessões do navegador e roubando cookies.
Você pode minimizar esse risco desconectando usuários inativos do WordPress.
Muitos plug-ins de segurança têm um recurso de logout de sessão ociosa ou você pode usar o plug-in de logout inativo.
5. Atualize seu site regularmente
Plugins, temas e até mesmo sua instalação do WordPress recebem atualizações regularmente. Você os verá dentro do painel do WordPress quando estiverem disponíveis:
Muitos proprietários de sites ignoram as atualizações por muito tempo, mas isso pode expor seu site a hackers. As atualizações geralmente trazem correções de bugs, novos recursos e melhorias no software. Eles também podem ter patches de segurança. Você pode ver se uma atualização traz um patch de segurança visualizando os detalhes da atualização.
Isso significa que uma vulnerabilidade foi encontrada no software que os hackers podem usar para atacar seu site. Quando os desenvolvedores encontram problemas de segurança, eles os corrigem e lançam uma nova versão do software.
Tudo o que você precisa fazer é atualizar o software em seu site.
Portanto, se você perceber que é um patch de segurança, atualize-o imediatamente para evitar qualquer risco de ser hackeado.
Um dos principais motivos pelos quais os proprietários de sites ignoram as atualizações é que, às vezes, elas podem quebrar seu site ou causar problemas de incompatibilidade. Recomendamos que você teste a atualização em um site de teste e execute-a em seu site ativo.
Com isso, você aprendeu como corrigir e prevenir ataques XSS em seu site WordPress.
Antes de encerrarmos, daremos mais uma dica de segurança. Sempre faça backups regulares do seu site.
Mesmo com as medidas de segurança mais fortes em seu site, há muitas coisas que podem dar errado. Por exemplo, um usuário pode cometer um simples erro humano que trava seu site.
Você pode configurar backups automatizados usando um plug-in de backup como o UpdraftPlus. Para mais opções, veja nossa lista dos principais plugins de backup do WordPress.
Perguntas frequentes
1. O WordPress é vulnerável a ataques de script entre sites?
O software principal do WordPress é desenvolvido e mantido por alguns dos melhores especialistas do mundo. O software deles é bastante sólido, mas lembre-se de que nenhum software está livre de vulnerabilidades.
A razão pela qual os sites WordPress são atacados com frequência é que a plataforma é tão popular. E a maioria dos usuários instala vários temas e plugins de terceiros. Vulnerabilidades podem se desenvolver em qualquer um desses elementos e os hackers podem explorá-los para invadir seu site.
2. Existem diferentes tipos de ataques de script entre sites?
Sim. Existem 3 tipos principais de ataques XSS:
- XSS armazenado (também conhecido como XSS persistente): os invasores armazenam sua carga útil em um servidor comprometido, fazendo com que o site entregue código malicioso a outros visitantes.
- XSS refletido: A carga útil é armazenada nos dados enviados do navegador para o servidor.
- DOM XSS: Aqui, o servidor em si não é o único vulnerável ao XSS, mas sim o JavaScript na página.
- Auto script entre sites: os invasores podem explorar uma vulnerabilidade que precisa de contexto realmente específico e alterações manuais. A vítima aqui só pode ser você mesmo.
- Script entre sites cegos: nesses ataques, a vulnerabilidade geralmente está em uma página que apenas usuários autorizados podem acessar. O atacante não pode ver o resultado de um ataque.
3. Como posso ter certeza de que não há outros problemas de segurança no meu site?
Certifique-se de sempre ter um plug-in de segurança instalado em seu site. Esta é uma obrigação para todos os tipos de sites, incluindo WooCommerce, blogs e sites de pequenas empresas. Recomendamos Sucuri, mas você também pode conferir Wordfence, MalCare e SiteLock. Veja mais de nossas principais recomendações aqui: 9 melhores plugins de segurança do WordPress comparados.
Isso é tudo que temos para você hoje. Esperamos que este post tenha dado a você tudo o que você precisa para proteger seu site.
Para saber mais sobre segurança de sites, consulte nossos recursos em:
- O Guia Completo de Segurança do WordPress (Amigável para Iniciantes)
- 5 melhores scanners de vulnerabilidade do WordPress para encontrar ameaças
- 9 melhores plugins de log de atividades para rastrear e auditar seu site WordPress
Essas postagens fornecerão mais maneiras de selar vulnerabilidades e proteger seu site de todos os riscos.