Não sei o porquê, mas acabei me tornando referência para tentar resolver pepinos no WordPress (com “clientes” como a aniversariante do dia Lucia Freitas, Nospheratt, Bruno Dulcetti, Mulher Remédio, Júlio Câmara, etc…). “O WordPress deu pepino, chama o Jonny Ken”

Então resolvi criar um tópico com temas não muito comentados em metablogs, principalmente na área de segurança e manutenção do WordPress. E para começar…

O dia que eu hackeeu um blog conhecido…

(antes de mais nada, o texto foi autorizado pelo Leo Baiano, e o bug do plugin foi prontamente arrumado)

Todo mundo tem a idéia de que programas de código aberto são mais seguros. Isso só é verdade quanto existem milhares de pessoas trabalhando horas e horas em cima do código! Quando uma pessoa faz algum plugin sozinho e libera o código pela internet sem muitos testes, ele é algo EXTREMAMENTE inseguro.

O maior problema é que quem escreve um programa pode fuçar milhares de vezes o código-fonte e não encontrar um bugzinho (por impericia ou por imprudência). Você já deve ter escrito um texto, verificado milhares de vezes e mais tarde uma 2ª pessoa do nada acha um erro gramatical grotesco.

Quando você faz um plugin para seu próprio uso, as chances de um bug ser descoberto é bem baixo, já que hackear algo desconhecido envolve uma boa dose de conhecimento e de sorte. Porém quando você abre o código para todos, o ataque é feito de forma certeira! Foi o que aconteceu recentemente com um blogueiro bastante popular na internet – o Leo Baiano.

Outro dia ele lançou um plugin simplezinho para exibir uma mensagem do tipo “Jonny, você já assinou o feed do Blog?” usando o nome que você enviou em algum comentário. Na maior boa vontade, ele liberou o plugin para outras pessoas poderem utilizar.

Curioso como sou, dei uma olhada no script e pimba!!! Um Bug que permitia rapidamente escrever coisas no layout do site. Avisei o Leo, e para mostrar o perigo, deixei uma mensagem no blog dele, trocando a mensagem original por um merchan do Infoblog.

O maior erro nesse caso não foi de programação, e sim de liberar o código fonte de um plugin sem conhecimentos básicos de segurança.

O Bug

Para programar não basta saber simplesmente a lógica da linguagem. Você tem que conhecer também os níveis de segurança que seu programa fornece a um usuário. Por isso a minha dica é: Se você é expert em POG (programação orientada à gambiarra), JAMAIS divulgue seu código-fonte.

No caso do plugin do Leo existia o arquivo chamado gravar.php que simplesmente não era protegido pela senha do WordPress. Como o próprio nome diz, ele pega as frases fornecidos pelo administrador (“bom dia visitante, você conhece o blog XYZ”, “Você já assinou nosso Feed” ou algo do tipo) e grava em um arquivo texto.

Olhando o código:

Como o gravar.php estava desprotegido e a linha 11 não possuia nenhuma verificação de autenticidade, aproveitei para simplesmente mandar um “form” com o campo “mensagem”. Com isso gravei a mensagem do Infoblog que apareceu na página de abertura.

Vivendo e aprendendo
Além de resolver o problema do Bug, o Leo Baiano adicionou uma funcionalidade nova em seu plugin, que é colocar a foto e o nome usando a API do BlogBlogs.

Segundo o próprio Leo, “o plugin não esta disponível para download porque ainda estou mexendo no código para evitar novos bugs mas quem quiser testar é só acessar o meu blog e ver como ficou.”.

Ótima atitude…

Conclusão:
Se você vai utilizar plugins, baixe-os somente do site oficial do WordPress. Verifique se ele não tem muitas reclamações e se todos os bugs já foram corrigidos.

Se você vai desenvolver plugins, verifique várias vezes seu código e peça para outras pessoas verificarem. E somente ai lance ele na internet.

Lançar plugins não é lugar para aventureiros. Caso não se sinta seguro, não o divulgue na internet! Colocar uma frase do tipo “Não me responsabilizo por qualquer problema que a instalação do plugin venha trazer.” pode até te isentar de responsabilidade jurídica, mas não o isentará das de riscos a sua imagem.