Descascando a Codificação: Decodificando Camadas de Base64 e ROT13

Criptografia Nível 1/4 ~1 min 19 de junho de 2026

O desafio

Esta string passou por duas camadas antes de cair num log. Remova-as com os botões de decodificação até o flag aparecer, e o envie.

O que você vai aprender

  • Entender a diferença entre codificação e criptografia e por que a codificação não oferece confidencialidade
  • Reconhecer base64 visualmente (seu conjunto de caracteres e o padding = no final) antes de decodificar
  • Identificar um deslocamento ROT13 / César em um texto onde a estrutura das palavras está intacta, mas as letras estão erradas
  • Descascar transformações encadeadas uma camada de cada vez e confirmar quando o texto claro legível foi alcançado
  • Descartar transformações isca (hex, URL, reverse) verificando se o formato de entrada delas sequer se aplica

Habilidades testadas

Reconhecimento e decodificação de base64Reversão de deslocamento ROT13 / CésarIdentificação de camadas em codificações encadeadas

Pré-requisitos

  • Familiaridade com a ideia de que dados podem ser re-representados (codificados) sem serem secretos
  • Facilidade básica para ler strings ASCII curtas

Como funciona

Codificação e criptografia são fáceis de confundir porque ambas transformam texto legível em algo que parece embaralhado. A diferença é a chave. A criptografia precisa de um segredo para ser revertida, então sem a chave os dados permanecem confidenciais. A codificação não tem chave nenhuma - é apenas uma forma acordada e pública de re-representar bytes para que sobrevivam em um arquivo de log, uma URL ou um e-mail. base64 e ROT13 são codificações, não cifras: qualquer pessoa pode revertê-las com um único clique e nenhum segredo.

É exatamente por isso que um valor escondido atrás de uma ou mais camadas de codificação está, para fins de segurança, em texto claro. Este desafio empilha duas delas. O conjunto de caracteres e o padding == no final revelam que a camada externa é base64. Ao decodificá-la você ainda não obtém palavras legíveis - você obtém um texto em que a estrutura das palavras e dos colchetes parece correta, mas as letras estão deslocadas por uma quantidade fixa. Esse deslocamento fixo de letras é a assinatura do ROT13 (um deslocamento de César de 13). Reverta essa segunda camada e a flag em texto claro aparece.

O decodificador também oferece os botões hex, URL e reverse. Eles são iscas cujo objetivo é ensinar o reconhecimento de camadas: a decodificação hex espera pares de dígitos 0-9a-f, a decodificação URL espera escapes %, e reverse apenas inverte a ordem. Nenhum desses formatos corresponde ao que você está vendo, então aplicá-los gera erro ou produz coisa sem sentido - um sinal útil de que você escolheu a ferramenta errada para aquela camada.

Erros comuns

  • Tratar codificação como criptografia. Assumir que o valor está "protegido" porque parece embaralhado. Não há chave alguma aqui, então isso oferece confidencialidade zero - basta clicar nos botões certos na ordem certa.
  • Adivinhar transformações em vez de ler o formato. Recorrer a hex, URL ou reverse quando a string claramente carrega padding de base64. Cada transformação espera um formato de entrada específico; verifique o formato antes de clicar.
  • Parar depois da primeira camada. O resultado do base64 ainda está embaralhado (letras deslocadas), o que tenta a pensar que você terminou ou que decodificou errado. Reconheça o deslocamento de César e descasque a segunda camada.
  • Reaplicar uma transformação sobre sua própria saída. Decodificar em base64 um valor já decodificado, ou aplicar ROT13 duas vezes, desfaz seu progresso. Aplique cada camada uma vez, na ordem, e observe a saída ficar mais legível a cada passo.

Como se proteger

A lição defensiva é simples: nunca confie na codificação para manter algo em segredo. Se um valor precisa ser confidencial - um token, um identificador de sessão, um dado pessoal - ele precisa ser protegido com criptografia de verdade (criptografia autenticada com uma chave devidamente gerenciada) ou simplesmente não deve ser registrado em log. base64 em um log, um cookie ou um parâmetro de URL sinaliza "isto é um formato de transporte", não "isto está seguro".

  • Mantenha segredos completamente fora de logs e URLs; edite ou aplique hash a eles antes de serem gravados.
  • Use criptografia autenticada (com uma chave gerenciada) quando os dados realmente precisarem de confidencialidade, e trate qualquer camada de base64/hex/URL como cosmética.
  • Ao revisar seus próprios sistemas, decodifique todo valor codificado que encontrar para confirmar que nada sensível está a um clique de distância do texto claro.

Solução completa

Membros Pro e Max desbloqueiam o passo a passo completo.

Assinar Pro

Estatísticas da comunidade

43 resoluções
57% taxa de sucesso

Hacks de hoje relacionados

25.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis