← Volver al listado de tecnologías

Bandit Nivel 10→11 - Decodificación Base64

Por: SiempreListo
overthewirebanditbase64encodingnivel-11

Bandit Nivel 10→11 - Decodificación Base64

Objetivo

La contraseña está en data.txt, codificada en Base64.

Teoría: ¿Qué es Base64?

Base64 es un sistema de codificación que representa datos binarios usando solo 64 caracteres ASCII imprimibles.

¿Por qué existe?

Algunos sistemas (como email) solo pueden transmitir texto. Base64 permite enviar archivos binarios (imágenes, PDFs) convirtiéndolos a texto.

Alfabeto Base64

A-Z (26) + a-z (26) + 0-9 (10) + +/ (2) = 64 caracteres

Y = como padding al final.

Ejemplo Visual

Texto: "Hola"
Binario: 01001000 01101111 01101100 01100001
Base64: SG9sYQ==

Características

AspectoDetalle
Expansión~33% más grande que el original
Padding= o == al final
SeguridadNO es cifrado, es solo codificación

El Comando base64

Decodificar

base64 -d archivo.txt
# o
echo "dGV4dG8=" | base64 -d

Codificar

echo "texto" | base64
# Salida: dGV4dG8K

base64 archivo.bin > archivo.b64

Solución

base64 -d data.txt

O:

cat data.txt | base64 -d

Usos Comunes de Base64

En URLs (Data URIs)

<img src="data:image/png;base64,iVBORw0KGgo...">

En APIs y Tokens

# Token JWT (3 partes en Base64)
eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiJ9.signature

# Autenticación HTTP Basic
Authorization: Basic dXNlcjpwYXNz
# (user:pass en Base64)

En Configuraciones

# Kubernetes Secrets
apiVersion: v1
kind: Secret
data:
  password: cGFzc3dvcmQxMjM=  # password123

¡Base64 NO es Seguro!

Es trivial decodificar:

echo "cGFzc3dvcmQxMjM=" | base64 -d
# password123

Nunca uses Base64 para ocultar información sensible. Es solo codificación, no cifrado.

Variantes de Base64

VarianteDiferencia
StandardUsa + y /
URL-safeUsa - y _ (evita caracteres problemáticos en URLs)
MIMELíneas de 76 caracteres con saltos
# URL-safe en algunos sistemas
base64 -w 0 archivo    # Sin saltos de línea

Identificar Base64

Pistas de que algo es Base64:

Comandos Aprendidos

ComandoDescripción
base64 -dDecodificar Base64
base64Codificar a Base64
base64 -w 0Sin saltos de línea

Conexión al Siguiente Nivel

ssh [email protected] -p 2220