Esta é uma versão arquivada/estática do antigo Blog do André. Isso significa que todo o conteúdo aqui presente não irá ser atualizado, e pode conter erros. Algumas funcionalidades poderão não estar disponíveis nesta versão arquivada.
12
Fev 2010

Temas do WordPress – Copyright a troco de segurança

Segurança no WordPressUma das primeiras coisas que uma pessoa com um blog WordPress instalado num alojamento próprio faz, é mudar o tema (eu incluído! :D ). E o que não faltam são galerias que têm temas muito bons, e com aspecto moderno.

O que não sabemos é que alguns destes websites incluem “surpresas” nos temas. E por surpresas, digo código ofuscado de maneira a não ser perceptível pelo administrador do blog. Muitos websites alegam que se trata de código para manter os devidos créditos aos autores dos temas, e o ofuscam para mante-los. Mas será apenas esse o conteúdo que está por trás desse bloco de código? A verdade é que muitas vezes também é incluído código que permite rastrear utilizadores, incluir links para blackhat SEO, entre outras coisas.

Para mostrar os efeitos destes pequenos blocos de código, aparentemente inofensivos, escolhi 4 websites ao acaso que oferecem temas gratuitos (os quais não os vou referir por motivos de privacidade, mas não são raros), e ver que surpresas nos deixam eles nos temas descarregados. Vamos lá então saber qual o aspecto dos códigos, em que ficheiros os encontramos, e principalmente, saber o que fazem exactamente.

Para auxiliar a tarefa de colocar os códigos (alguns deles gigantes!), e obter no browser o seu resultado, resolvi usar o serviço IdeOne (que foi sugerido pelo Ivanoel, aqui no blog): para ver uma amostra do código em cada caso, sigam o link indicado.

Rounded v2 Blue Edition

Imagem do tema Rounded v2Código (footer.php): http://ideone.com/AryLjdSU

A primeira impressão que dá ao olhar para este código é que se trata de uma função rotineira de ir buscar/escrever opções à base de dados do WordPress. E na verdade até é, mas são opções que de nada trazem vantagens ao utilizador.

Esta função tenta puxar da base de dados uma data e um id, que são gerados caso ainda não estejam lá. Em seguida, o script tenta verificar se existe alguma forma de abrir uma ligação com um website: são feitas tentativas com recurso a sockets e à função PHP file_get_contents. Neste processo, são enviadas duas informações: o host no qual o WordPress está instalado, e o post/página visitado pelo utilizador. Contactado o servidor e enviadas as informações, este devolve uma resposta, que pelo restante código, creio que seja um ID exclusivo, para identificar unicamente a instalação do WordPress, mesmo que esta seja mudada para outro site.

Aparentemente nada mais é enviado. E para que servem estas informações? Apenas eles sabem. Mas uma coisa é certa: são enviadas sem consentimento do utilizador, e são recolhidas sem saber quais os motivos.

Prejudicial: Sim

Consequências: São enviadas e recolhidas informações sobre as páginas visitadas sem consentimento do administrador do blog.

Corponisa

Imagem do tema CorponisaCódigo (footer.php): http://ideone.com/JdfDmSQT

Este excerto de código, à semelhança de muitos outros que andam por aí, usa Base64 para ocultar algum do código a correr. A primeira variável no código contém o que realmente interessa. A esse conteúdo, faz-se decode, e é obtida uma string, mas propriamente um pedaço de código HTML com alguma PHP à mistura, mas de forma algo ilegível. É feita ainda outra passagem por outra função que substitui alguns caracteres, algo à semelhança de uma cifra de César. No final de contas, obtemos uma copyright normal, com alguns endereços extra, a saber: website onde o tema foi retirado, website de uma empresa de hosting. Não são prejudiciais, mas podem ser consideradas como tácticas para manipulação de SEO à custa de outros blogs.

Prejudicial: Não

Consequências: São apresentados algumas ligações extra no fundo da página. Não são directamente prejudiciais, mas podem ser considerados como técnicas de manipulação de SEO para “subir” no ranking à custa de outros blogs.

Redie

Imagem do tema RedieCódigo (footer.php): http://ideone.com/wihAr577

À semelhança do anterior, este ficheiro contém código ofuscado usando Base64. No entanto, neste a técnica é muito mais simples, não havendo mais nenhuma tentativa de esconder o código. Os conteúdos também são igualmente simples: um pedaço de código HTML, que contém uma ligação para outro website. uma particularidade do código é que esta ligação é apenas mostrada quando é acedida a página inicial do blog. Talvez seja por questões de SEO, para não serem considerados excesso de links, ou simplesmente porque a página principal pode ser mais relevante para os motores de busca.

Prejudicial: Não

Consequências: É apresentado uma ligação extra no fundo da página, quando o visitante visualiza a página de entrada do blog. Pode ser considerada técnica para explorar SEO.

Andreas 08 3 cms

Imagem do tema Andreas 08Código (footer.php): http://www.ideone.com/PbbtlS6O

Não queria ser repetitivo, mas este também usa Base64. É uma opção muito comum, pois é um tipo de ofuscação que faz um bom trabalho a nível visual, sem afectar a performance, para além de vir de raiz no PHP. A particularidade deste código é que após o PHP efectuar o decode do Base64, é obtida uma string comprimida em Gzip. Já o conteúdo também não tem nada de surpreendente: copyright e algumas ligações. Apenas algum código PHP para obter informações como o nome do blog, ou o ano para actualizar a copyright.

Prejudicial: Não

Consequências: Algumas ligações adicionais no final do website, que podem ser usadas para explorar SEO.

Conclusões

Depois disto, podemos perceber rapidamente que podem estar mais coisas que simples créditos por baixo de todo aquele código esquisito. Ligações remotas a domínios desconhecidos, sem qualquer alerta ou consentimento do utilizador, entre outras possíveis acções (tudo depende dos privilégios que o servidor tem em termos de PHP), são sempre indesejáveis.

A minha recomendação passa por remover os códigos, mas como um esquema bem delineado que é, o tema poderá deixar de funcionar. Para os mais entendidos, podem remover o código em questão, e no código fonte HTML, identificar que etiquetas/estilos CSS estão em falta, e consertar assim o tema.

Fico-me por aqui quanto à análise. Qualquer dúvida ou sugestão, é sempre bem-vinda. E por fim, o conselho: verifiquem sempre os vossos temas antes de os correrem no servidor, sempre! Qualquer dúvida relacionada com isto, estou aqui para esclarecer. Até mais! ;)

Lista de ferramentas e endereços web utilizados

  • Base 64 Decoder
  • Notepad++, com sintaxe colorida e realce de variáveis
  • Um bocado do meu cérebro e da minha paciência para ver tantas letras e números esquisitos xD

Notas legais

Os temas aqui mostrados são apenas exemplos, e não é intenção deste artigo acusar os respectivos autores da adição destes códigos. Os temas usados neste artigo são apenas para exemplo, e qualquer outro tema pode conter amostras destes códigos, assim como estes temas não incluírem código adicional, quando descarregados de websites fidedignos. As imagens utilizadas no artigo são dos seus respectivos autores.

Imagem do tema Andreas 08

Gostou deste artigo?

Facebook Twitter Google Plus Delicious

7 Comentários

 

  • Gravatar de UAP

    UAP

    25/02/2010 @ 02:46

    Bom artigo,

    Esclareceu algumas dúvidas que eu tinha. Pouco percebo de php, mas lá me vou safando a editar, agora daí a descobrir onde estão os códigos maliciosos ainda vai um bocado, neste momento já não sei se não é melhor mudar de tema, Não ando a confiar muito naquele que pus até porque já dei com várias irregularidades do género nos bookmarks os links estarem associados de maneira a fazer publicidade ao autor do tema. Quanto ao footer deixa editar tudo, não tenho nada que esteja encriptado. Mesmo assim será que pode ter alguma coisa escondida nesse ou noutro ficheiro?

    cumprimentos

  • Gravatar de André

    André

    25/02/2010 @ 14:31

    Olá UAP, obrigado pelo comentário antes de mais!

    No caso desta análise, os “códigos maliciosos” estavam no footer.php, porque é a técnica mais comum, mas podem estar incluídos em qualquer ficheiro.

    Quanto ao tema, também é normal os autores colocarem endereços para o website de um portfólio deles. Alguns até vão mesmo ao ponto de colocar publicidade para monetizarem com isso. Depende muito da situação, mas se se tratarem de ligações em HTML, do género

    <a href="https://www.example.com">Autor do tema</a>
    

    não é perigoso, e até encorajo a deixar, pois dá crédito ao autor do tema. As ligações, penso que sejam as que ficam na barra lateral, se forem em excesso, tem todo o direito de as apagar, afinal o website é seu!

    De qualquer das formas, se quiser pode enviar-me o tema por email (ver na barra lateral ou na secção contactos) e posso dar uma olhadela para ver de tem algum bicharoco. :D

    Cumps.

  • Gravatar de UAP

    UAP

    25/02/2010 @ 19:23

    Ora se me visse isso era espectacular :D

    Mas também não quero dar muito trabalho, uma olhadela rápida só está bom

    cumps

  • Gravatar de Jorge

    Jorge

    9/03/2010 @ 17:08

    Olá, achei o artigo interessante e acabei por o linkar:

    http://hitech-tips.blogspot.com/2010/03/temas-wordpress-mais-ou-menos-gratuitos.html

  • Gravatar de André

    André

    9/03/2010 @ 21:19

    Olá Jorge, sê bem-vindo! Muito obrigado pelo interesse no artigo, e obrigado pela referência ;)

  • Gravatar de pbsena

    pbsena

    2/11/2012 @ 01:08

    André temos um site mais estou com a purga por detrás das orelhas. Além dos créditos o template tem eu instalei este Plugin chamado de [WassUp - Últimos cliques]. As vezes tenho uma certa quantidade de visitas como por exemplo: de 1095 Visitas. E de repente ela baixa pra 800, ou até menos. Gostaria de saber em que você pode me dizer sobre tal.
    Mais gostaria por quanto você retira estes créditos maliciosos do meus Templates.
    http://leaoimprensa.com.br/

    http://tifsa.com.br/

    • Gravatar de André

      André

      3/11/2012 @ 17:55

      bpsena, obrigado pelo comentário. Antes de mais, esse plugin chama-se Wassup, e é um plugin dedicado a recolher estatísticas para blogs WordPress. Não é malicioso, e já o cheguei a usar neste blog em tempos. Quanto ao número de visitas, se o blog for muito visitado, esse pode ser um valor estimado de visitantes em tempo real, por isso é normal que ele altere com muita frequência ao longo do dia.

      No menu do lado esquerdo, deverá aparecer uma opção chamada “Wassup Stats”, que permite configurar a ferramenta. Agora não me recordo da opção em concreto (se não encontrar aí, procure pelo mesmo nome nos widgets), mas em todo o caso, pode obter ajuda para o plugin na página oficial:

      http://wordpress.org/extend/plugins/wassup/