Burlando Protetores de Links II – Base64

Introdução

Em um post anterior, eu mostrei como burlar os protetores de link que codificam a URL original em hexadecimal. Se você ainda não viu, clique em:

https://daemoniolabs.wordpress.com/2011/07/23/burlando-protetor-de-link-com-url-codificada-em-hex/

Nesse post irei mostrar como burlar os protetores de links que utilizam a codificação base64 para esconder os links.

O que é base64

Base64 é um padrão de codificação que visa transformar dados binários em textos. Ele é muito semelhante ao uuencode[2], porém o base64 é mais adotado pelas aplicações. Não é intenção desse post explicar o processo de codificação usando esse algoritmo, mas se você quiser mais informações sobre isso visite o link [1].

Programas/Sites Codificadores de base64

Uso GNU/Linux Slackware 13.37 instalação completa e o programa base64 veio instalado por padrão. Verifique em sua distribuição se esse programa (ou algum semelhante) está instalado.

É possível também usar codificadores online. Há uma lista imensa desses sites no google, mas o que mais gostei foi:

http://ostermiller.org/calc/encode.html

Além de operar usando base64, esse site também codifica/decodifica textos em hexadecimal.

Como usar o programa base64

Não precisamos saber muito sobre esse programa, no mais apenas codificar/decodificar a entrada padrão.

Codificando

$ echo 'Hello World' | base64
SGVsbG8gV29ybGQK

Decodificando

$ echo 'ZGFlbW9uaW9sYWJzCg==' | base64 -d
daemoniolabs

Como identificar um link em base64

Não é fácil saber de cara quando determinado texto está codificado em base64. Porém há certas características no texto codificado que denunciam o uso desse algoritmo.

  • Caracteres na faixa: [a-zA-Z0-9] e “+/”.
  • Possível “=” ou “==” no fim do texto.

Em se tratando de links há mais padrões a serem analizados. Por exemplo, quase todo link do protocolo HTTP tem o prefixo http://. Esse prefixo em base64 é:

$ echo 'http://' | base64
aHR0cDovLwo=

Então todo texto que começar com parte da string acima, tem a possibilidade de ser um link. Suponha o texto:

aHR0cDovL2RhZW1vbmlvbGFicy53b3JkcHJlc3MK

Veja que ele começa com aHR0cDovL que indica que um link HTTP foi codificado. Se isso for verdade basta decodificar para obtermos o link real:

$ echo 'aHR0cDovL2RhZW1vbmlvbGFicy53b3JkcHJlc3MK' | base64 -d
http://daemoniolabs.wordpress

Exemplo de Protetores de Links

Esses dias me deparei com o seguinte link:

http://encurtador.com/?TUdXNFA1NDQ9ZD8vbW9jLmRhb2xwdWFnZW0ud3d3Ly86cHR0aA==

Podemos notar que há um texto codificado em base64 após o ?. Decodificando esse texto obtemos:

$ echo TUdXNFA1NDQ9ZD8vbW9jLmRhb2xwdWFnZW0ud3d3Ly86cHR0aA== | base64 -d
MGW4P544=d?/moc.daolpuagem.www//:ptth

Além do protetor usar base64 para codificar a URL, dificultando ainda mais a sua obtenção direta, ele ainda codifica o link invertido. Para reverter você já sabe:

$ echo 'MGW4P544=d?/moc.daolpuagem.www//:ptth' | rev
http://www.megaupload.com/?d=445P4WGM

Conclusão

Como podemos ver é possível burlar várias das técnicas adotadas pelos protetores de links (se há mais alguma nova, post nos comentários). Gostaria de finalizar esse post dizendo que não estou incentivando o download ilegal de filmes e músicas. A intenção do post é apresentar um recurso de proteção de links e como burlá-lo e tudo isso somente para fins educacionais.

Referências

[1] Base64 (Acessado em: Agosto/2011)
http://en.wikipedia.org/wiki/Base64

[2] Uuencoding (Acessado em: Agosto/2011)
http://en.wikipedia.org/wiki/Uuencoding

5 pensamentos sobre “Burlando Protetores de Links II – Base64

  1. Pingback: Burlando Protetores de Links III – protetor.org | Daemonio Labs

  2. I will right away take hold of your rss as I can’t find your email subscription link or e-newsletter service. Do you’ve any?
    Kindly allow me realize in order that I may subscribe. Thanks.

Deixe um comentário