Skip to content

06 Caracteristicas Avanzadas

glitchboi edited this page Oct 30, 2026 · 2 revisions

Collections

Agrupa requests en secuencias ejecutables con extracción y sustitución automática de variables.

Crear Collection

  1. Tab Collections → Click "+"
  2. Dale un nombre
  3. Agrega requests desde History (click derecho → "Add to Collection")

Configurar Variable Extraction

Las variables te permiten extraer valores de responses y reutilizarlos en requests subsecuentes.

Syntax de extracción:

  • Source: body o header
  • Path: JSONPath syntax (ej. $.data.token, $.user.id)

Ejemplo:

// Response body de step 1:
{
  "status": "success",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "user_id": 12345
  }
}

// Extraer variables:
// Variable: auth_token | Source: body | Path: $.data.token
// Variable: user_id | Source: body | Path: $.data.user_id

Usar Variables

En requests subsecuentes, usa la sintaxis {{variable_name}}:

GET /api/profile HTTP/1.1
Host: example.com
Authorization: Bearer {{auth_token}}

POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "user_id": {{user_id}},
  "action": "update"
}

Ejecutar Collection

  1. Selecciona la collection
  2. Click "▶ Send Next" para ejecutar paso a paso
  3. El panel "Variables" muestra valores actuales en tiempo real
  4. Cada step muestra su request, response y variables extraídas

Workflow Ejemplo

Caso de uso: Login → Get User Data → Update Profile

Step 1 - Login:

POST /auth/login
Content-Type: application/json

{
  "username": "test@example.com",
  "password": "password123"
}

Extrae: $.token → Variable auth_token

Step 2 - Get Profile:

GET /api/profile
Authorization: Bearer {{auth_token}}

Extrae: $.user.id → Variable user_id

Step 3 - Update Profile:

PUT /api/users/{{user_id}}
Authorization: Bearer {{auth_token}}
Content-Type: application/json

{
  "bio": "Updated bio text"
}

Session Rules

Automatiza la extracción de valores desde responses usando regex.

Crear Session Rule

  1. Tab Herramientas → sub-pestaña "Session"
  2. Click "Add Rule"
  3. Configura:
    • Rule Name: Nombre descriptivo
    • When: response o request
    • Target: body o headers
    • Regex Pattern: Expresión regular con grupo de captura
    • Group: Número del grupo a capturar (default: 1)
    • Variable Name: Nombre de la variable

Ejemplos de Regex

Extraer token JWT de JSON:

"access_token"\s*:\s*"([^"]+)"

Extraer session cookie:

session=([^;]+)

Extraer CSRF token de HTML:

<input[^>]+name="csrf_token"[^>]+value="([^"]+)"

Extraer API key de header:

X-Api-Key:\s*(.+)

Uso con Collections

Las variables extraídas por Session Rules están disponibles automáticamente en Collections usando {{var_name}}.


Sensitive Discovery

Escanea HTTP history en busca de secrets, credentials y datos sensibles.

Patrones Detectados

Credentials:

  • AWS Access Keys (AKIA[0-9A-Z]{16})
  • AWS Secret Keys (40 chars base64)
  • Private Keys (RSA, SSH, PGP)
  • API Tokens (GitHub, Stripe, Slack, SendGrid, Twilio, etc.)
  • Database URLs (PostgreSQL, MySQL, MongoDB)

Tokens:

  • JWT tokens (formato xxx.yyy.zzz)
  • OAuth tokens
  • Bearer tokens

Cloud Providers:

  • Azure credentials
  • GCP service accounts
  • DigitalOcean tokens
  • Heroku API keys

Webhooks:

  • Slack webhook URLs
  • Discord webhook URLs
  • Microsoft Teams webhooks

PII:

  • Email addresses
  • Credit card numbers (Luhn validation)
  • Phone numbers
  • SSNs

Shannon Entropy Filter

Mide la "aleatoriedad" de strings para reducir falsos positivos.

Valores recomendados:

  • 2.5-3.0: Más resultados, más false positives
  • 3.5 (default): Balance óptimo
  • 4.0-4.5: Menos resultados, alta precisión

Qué detecta:

  • Strings aleatorios (tokens, keys) → alta entropía
  • Texto normal ("hello world") → baja entropía

Workflow

  1. Tab Herramientas → sub-pestaña Sensitive
  2. Click "Scan All Requests"
  3. Ajusta slider de Shannon Entropy si hay muchos false positives
  4. Revisa hallazgos por categoría
  5. Click en hallazgo para:
    • Ver request/response completo
    • Copiar valor detectado
    • Navegar a request original

Nota: El escaneo corre en la app de escritorio (cliente) sobre el historial ya capturado; ningún dato sale de tu equipo.


JWT Analyzer

Analiza y prueba tokens JWT.

Decodificar JWT

  1. Tab Herramientas → sub-pestaña Decoder → "JWT"
  2. Pega el token JWT
  3. Visualiza:
    • Header: Algoritmo, tipo
    • Payload: Claims (sub, exp, iat, etc.)
    • Signature: Verificación

Ataques Documentados

None Algorithm Attack

Descripción: Eliminar signature y cambiar alg a none.

Steps:

  1. Decodifica token
  2. Cambia header: {"alg": "none", "typ": "JWT"}
  3. Elimina signature (tercer segmento)
  4. Recodifica: base64(header).base64(payload).

Cuándo funciona: Si el backend no valida el algoritmo.

Key Confusion Attack

Descripción: Confundir RS256 (asymmetric) con HS256 (symmetric).

Steps:

  1. Obtén la clave pública del servidor (ej. /jwks.json)
  2. Cambia alg de RS256 a HS256
  3. Firma el token usando la clave pública como secret HMAC

Cuándo funciona: Si el backend usa la misma clave para verificar sin validar el algoritmo.

Weak Secret Bruteforce

Herramientas:

# hashcat
hashcat -a 0 -m 16500 jwt.txt wordlist.txt

# jwt_tool
python3 jwt_tool.py <token> -C -d wordlist.txt

Cuándo funciona: Si el secret HMAC es débil (common words, short length).


Cipher (Recipe-based Encoder/Decoder)

Encoder/decoder visual con recetas encadenables.

Cómo Usar

  1. Tab Herramientas → sub-pestaña Decoder → Cipher
  2. Input: Pega datos en panel de entrada
  3. Busca operaciones desde la lista
  4. Click para agregar a la receta
  5. Output: Resultado se actualiza automáticamente

Categorías de Operaciones

Encoding:

  • Base64 Encode/Decode
  • URL Encode/Decode
  • Hex Encode/Decode
  • HTML Entity Encode/Decode

Hashing:

  • MD5, SHA1, SHA256, SHA512
  • HMAC (con key)
  • CRC32

Compression:

  • Gzip Compress/Decompress
  • Zlib Compress/Decompress

Encryption:

  • AES Encrypt/Decrypt (CBC, ECB, CTR)
  • DES, 3DES
  • Blowfish
  • RC4
  • ChaCha20
  • XOR

Conversions:

  • Decimal ↔ Hex
  • Binary ↔ Decimal
  • Octal ↔ Decimal
  • Morse Code

String Operations:

  • Reverse
  • Upper/Lower case
  • Count characters
  • Length
  • Split
  • Replace
  • Regex extract

Ejemplo: Decodificar Token Complejo

Input: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0=

Receta:

  1. Base64 Decode
  2. Split (separator: .)
  3. Base64 Decode (solo payload)

Output: {"sub":"1234567890"}


WebSocket Viewer

Captura y visualiza tráfico WebSocket.

Features

  • Lista de conexiones WS por URL
  • Frames en ambas direcciones (↑ sent, ↓ received)
  • Detalles de cada frame:
    • Timestamp
    • Type (text, binary, ping, pong)
    • Length
    • Content
  • Reenvío de frames editados

Workflow

  1. Tab Proxy → sub-pestaña "WS"
  2. Panel izquierdo: Selecciona conexión WebSocket
  3. Panel central: Lista de frames
  4. Panel derecho: Detalle del frame seleccionado
  5. Input box: Edita y reenvía frames

Clone this wiki locally