📌 29 de Julho, 2015

Adware: DiscountMan e WordPress

Informática · Programação

O DiscountMan é um adware que se instala nos browsers através das extensões. Depois de aparecem links estranhos num blog, onde giro a parte técnica, decidi investigar:

smp1

Como podem ver, no artigo, existem links incluídos pelo DiscountMan. Inicialmente eu até suspeitei que o meu computador tivesse infectado, mas como duvidava disso, fui ao editor dos artigos do blog e vi isto:

smp2

Acabei por confirmar o que se estava a passar directamente na base de dados:

smp3

É interessante este adware até já inserir o conteúdo nos artigos escritos em WordPress. Até agora não tinha visto nada como isto, e não, o próprio WordPress não está comprometido. Após testes posteriores, com o computador onde os artigos foram escritos, concluí que este adware é mesmo capaz de adicionar o HTML no editor do WordPress.

Remover o DiscountMan dos Artigos do WordPress

Seria extremamente demorado editar centenas de artigos no WordPress para remover estes links, então decidi fazer isto directamente na base de dados. Primeiro testei uma substituição com SELECT para confirmar que funcionava correctamente:

SELECT REGEXP_REPLACE(post_content, '(<a .* title=".*DiscountMan"[^>]*>)([^<]*)(<img [^>]*><\/a>)', '\\2') FROM wp_posts

Já que funcionou, decidi então fazer o UPDATE:

UPDATE `wp_smp_posts` SET post_content=REGEXP_REPLACE(post_content, '(<a .* title=".*DiscountMan"[^>]*>)([^<]*)(<img [^>]*><\/a>)', '\\2')

Esta expressão irá remover todos os links que tenham title="DiscountMan" (incluíndo o fecho da tag) deixando intacto o texto do link. O texto do link deverá ser mantido já que o DiscountMan coloca os links em certas palavras inofensivas dos nossos posts. Também é removida a imagem.

Notas: 

  • Esta solução só funciona se a base de dados for MariaDB. Infelizmente o MySQL não suporta (nem vai suportar) o REGEXP_REPLACE.
  • Antes de executarem o código deverão testar com uma cópia da base de dados, utilizar transacções etc.