Arquivo da tag: wordpress

WordPress: malware – código no título

Todo blogueiro sabe o “chute na canela” que é tentar acessar o próprio site e encontrar aquela desagradável (e assustadora) mensagem de malware.

Aviso de Malware

O pior é que as consequências dessa invasão podem ser desastrosas e irreversíveis, principalmente se o responsável pelo site não resolver o problema imediatamente (a tempo dele não ser listado como site nocivo pelo Google, por exemplo).

Bem, então vamos ao problema que te trouxe aqui. As dicas abaixo são emergenciais, eu não descobri (ainda) o que permitiu essa invasão no meu site (depois que você “apagar o incêndio” tente descobrir onde estão as fragilidades do seu site).

Mas o fato é que o meu site estava mostrando um aviso de malware no Chrome e não estava carregando totalmente no Firefox. Fiz vários testes e nenhum apontou a contaminação, até que em sucuri.net apareceu “Site infected with malware“: várias páginas e posts contaminados, carregando scripts maliciosos. Raios múltiplos!

Bem, a primeira coisa a se fazer – e rápido – é “fechar” seu site para manutenção, antes que ele seja declarado oficialmente como uma ameaça na WEB (nesse caso o problema fica maior). Para isso, instalei direto do painel de administração o plugin Maintenance Mode Lite. Nele é possível configurar dados de redes sociais, formulário de contato e deixar para as pessoas que visitarem seu site uma mensagem informando em quanto tempo o mesmo voltará ao normal. É só ativar e pronto.

Código no títuloEm seguinda, usando o Firebug no Firefox encontrei os tais códigos. Como não sou um expert em php, desconfiei do básico no WordPress: header, footer e widget: usei o editor de temas e fucei nesses blocos, mas não encontrei nada. Se não estão aí devem estar no conteúdo. Abri o phpAdmin e comecei a fuçar os posts dentro do banco de dados. Voilá. Os códigos estavam inseridos dentro dos títulos no banco de dados (!! como eles foram parar lá??).

Para resolver esse problema, sugiro antes que você elimine todos os “post revision”, ou revisão de post, que são armazenados como se fossem posts inteiros. São dezenas, talvez centenas, milhares, depende do tamanho do seu site, e se não eliminados vão aumentar muito o seu trabalho. Eu limpei o meu site usando o comando abaixo no Cpanel => phpAdmin => SQL:

DELETE FROM wp_posts WHERE post_type = “revision”;

Para mais detalhes sobre post revision clique aqui.

Feito isso, abri post a post e apaguei manualmente todos os códigos “estranhos” que estavam nos títulos. Como nem todos os posts estão contaminados, aumente a largura da coluna “post_title” (lembre-se, estamos em cpanel => phpAdmin). Feito isto, refiz todos os testes para confirmar se o site estava realmente limpo.

Ao final, apliquei a dica abaixo para evitar futuras contaminações:

Inserir o código abaixo no seu wp-config.php (fonte: daviwp.com/)

define( ‘DISALLOW_UNFILTERED_HTML’, true );

É isso aí. Como eu disse acima, essa é uma solução emergencial e eu não sou um expert no assunto. Quem souber mais, por favor post aí nos comentários.