← Volver al listado de tecnologías

Natas Nivel 5 - Manipulación de Cookies

Por: SiempreListo
overthewirenatascookiessesionnivel-5

Natas Nivel 5 - Manipulación de Cookies

Objetivo

La página dice: “Access disallowed. You are not logged in.”

Teoría: Cookies HTTP

¿Qué son?

Las cookies son pequeños datos que el servidor almacena en el navegador del cliente para mantener estado entre peticiones.

Flujo

1. Servidor → Set-Cookie: loggedin=0
2. Navegador guarda cookie
3. Navegador → Cookie: loggedin=0 (en cada petición)

Usos Comunes

UsoEjemplo
Sesionessession_id=abc123
Preferenciastheme=dark
Tracking_ga=... (Google Analytics)
Autenticaciónauth_token=xyz

El Problema

Si el servidor confía en valores de cookies sin validarlos, un usuario puede modificarlos.

Solución

Paso 1: Ver las cookies actuales

En DevTools (F12) → Application → Cookies

O en consola:

document.cookie

Verás algo como: loggedin=0

Método 1: DevTools

  1. F12 → Application → Cookies
  2. Doble click en el valor “0”
  3. Cámbialo a “1”
  4. Recarga la página

Método 2: Consola JavaScript

document.cookie = "loggedin=1";

Método 3: curl

curl -u natas5:CONTRASEÑA \
     -b "loggedin=1" \
     http://natas5.natas.labs.overthewire.org/

Paso 3: Recargar

Con la cookie modificada, la página mostrará la contraseña.

Atributos de Cookies

AtributoPropósitoSeguridad
HttpOnlyNo accesible desde JavaScriptPreviene robo XSS
SecureSolo enviada por HTTPSPreviene MITM
SameSiteControla envío cross-sitePreviene CSRF
PathLimita a ruta específica-
ExpiresFecha de expiración-
# Insegura
Set-Cookie: session=abc123

# Segura
Set-Cookie: session=abc123; HttpOnly; Secure; SameSite=Strict

Herramientas para Cookies

Extensiones de navegador

Línea de comandos

# Enviar cookie
curl -b "nombre=valor" http://sitio.com

# Guardar cookies
curl -c cookies.txt http://sitio.com

# Usar cookies guardadas
curl -b cookies.txt http://sitio.com

Por Qué el Nivel es Vulnerable

El servidor hace algo como:

<?php
if ($_COOKIE['loggedin'] == 1) {
    echo "Contraseña: ...";
}
?>

Confía ciegamente en el valor de la cookie sin validación.

Conceptos Aprendidos

ConceptoDescripción
CookiesEstado en el cliente
Cookie tamperingModificación de cookies
Session managementManejo de sesiones
Input validationValidar datos del cliente

Siguiente Nivel