Vulnerabilidade permite "brincar" com o site da Secretaria da Educação do Estado de SP

Os sites de instituições governamentais tem muitas falhas, não é raro vermos problemas de performance e até mesmo indisponibilidade em grandes eventos, como ultimo dia para inscrições em provas, vestibulares, declaração do imposto de renda, etc. Falhas de segurança também são comuns em sites de prefeituras, câmaras e governos.

Nesse post vou mostrar uma falha de segurança descoberta por mim no site da Secretaria da Educação do Estado de São Paulo. É uma falha simples, que, ao menos aparentemente, não compromete a segurança da plataforma em si, mas, se explorada por alguém mal intencionado, pode espalhar noticias falsas.

A vulnerabilidade fica na sessão de vídeos do site, a plataforma embeda os vídeos a partir de um parâmetro inserido direto na url. Vamos ver um exemplo:
Peguemos uma url original da página

http://www.educacao.sp.gov.br/video.php?vid=Pssw3gULprM

Repare que, após a parte em negrito temos uma sequencia alfanumérica, essa sequencia é um código de vídeo do youtube e isso fica claro quando comparamos a url do site da secretaria com a url do vídeo correspondente no youtube:

http://www.youtube.com/watch?v=Pssw3gULprM

Repare novamente que, após a parte em negrito temos o mesmo código de vídeo. Isso nos leva a crer que, se eu pegar qualquer código de vídeo do youtube e inserir na url o vídeo por mim escolhido será embedado no site da Secretaria. Será que funciona?

http://www.educacao.sp.gov.br/video.php?vid=HPptD273QgI

Sim, funciona. Isso quer dizer que, qualquer pessoa, mesmo sem nenhum conhecimento técnico, pode inserir qualquer vídeo na url do site e divulgar como notícia.

Uma outra coisa interessante é que a descrição do vídeo também vem embedada na página da secretaria, da pra fazer um estrago considerável com isso.



Pelo que vi o site é escrito em PHP e usa um cms privado chamado 'A2 Sitebox', desenvolvido pela A2 Comunicação. A A2 Comunicação tem em sua lista de cases vários jobs para o Governo do Estado de SP. Fazendo uma rápida busca no Google por 'a2comunicacao psdb' vemos que as ligações da agencia com os tucanos vão pra além do site dos jobs para o governo.

No site do Bruno Covas, por exemplo, tem uma mensagem de "Bom 2011" para Angelo Perosa e Lilian Perosa da A2 Comunicação.



Parece que eles fizeram tbm uma versão anterior do tucano.org.br (site do psdb).



Tem RT do @PSDBMooca em alguns tuites deles.




E eles doaram grana pra campanha de Edson Aparecido, deputado federal pelo PSDB



Bom, como não sou jornalista investigativo vou me limitar a parte técnica do site e da plataforma vulnerável, só achei interessante uma empresa que presta serviços para o governo ter ligações com o partido que a contrata.

Update: A vulnerabilidade foi corrigida, mas a evidencia continua no print.

Selecionando a versão do Ruby no Sublime Text 2

Recentemente passei a estudar Ruby para automação de testes com o Selenium Webdriver.

Já uso o Sublime Text tem um tempo e opto por ele como editor de texto/IDE padrão pra qualquer parada, visto sua leveza e robustez. Uma das coisas que me facilita muito a vida é o console do Sublime, a partir dele executo o código logo na sua criação, sem precisar passar pelo processo de salvar, alternar para o terminal e executar.

Pra mim o console já era uma mão na roda com o Phyton, mas com o Ruby tive um problema: Sei lá por que a ultima versão do Ruby pra OS X não funciona com a gem 'selenium-webdriver' e tive que fazer o downgrade da versão do Ruby para a 1.9.2. Fiz o downgrade com o rvm e, executando o código pelo terminal, o webdriver rodava bem. Quando tentava executar pelo console do sublime (command + b) não rolava. Pesquisando encontrei uma solução e compartilho aqui.

A solução é bem simples, basta alterar o arquivo "~/Library/Application\ Support/Sublime\ Text\ 2/Packages/Ruby/Ruby.sublime-build" substituindo o conteudo dele por esse:

{
  "env":{
      "PATH":"${HOME}/.rvm/bin:${PATH}"
  },
  "cmd": ["rvm-auto-ruby", "$file"],
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "selector": "source.ruby"
}

Após isso é só reiniciar o Sublime a execução no console vai funcionar com a versão do Ruby selecionada pelo rvm.

Encontrei a solução nesse link: http://apple.stackexchange.com/questions/53179/getting-sublime-text-to-use-the-latest-version-of-ruby

Tecnologia do Blogger.