Repository navigation
06 Caracteristicas Avanzadas
Agrupa requests en secuencias ejecutables con extracción y sustitución automática de variables.
- Tab Collections → Click "+"
- Dale un nombre
- Agrega requests desde History (click derecho → "Add to Collection")
Las variables te permiten extraer valores de responses y reutilizarlos en requests subsecuentes.
Syntax de extracción:
-
Source:
bodyoheader -
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_idEn 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"
}- Selecciona la collection
- Click "▶ Send Next" para ejecutar paso a paso
- El panel "Variables" muestra valores actuales en tiempo real
- Cada step muestra su request, response y variables extraídas
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"
}Automatiza la extracción de valores desde responses usando regex.
- Tab Herramientas → sub-pestaña "Session"
- Click "Add Rule"
- Configura:
- Rule Name: Nombre descriptivo
-
When:
responseorequest -
Target:
bodyoheaders - Regex Pattern: Expresión regular con grupo de captura
- Group: Número del grupo a capturar (default: 1)
- Variable Name: Nombre de la variable
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*(.+)Las variables extraídas por Session Rules están disponibles automáticamente en Collections usando {{var_name}}.
Escanea HTTP history en busca de secrets, credentials y datos sensibles.
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
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
- Tab Herramientas → sub-pestaña Sensitive
- Click "Scan All Requests"
- Ajusta slider de Shannon Entropy si hay muchos false positives
- Revisa hallazgos por categoría
- 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.
Analiza y prueba tokens JWT.
- Tab Herramientas → sub-pestaña Decoder → "JWT"
- Pega el token JWT
- Visualiza:
- Header: Algoritmo, tipo
- Payload: Claims (sub, exp, iat, etc.)
- Signature: Verificación
Descripción: Eliminar signature y cambiar alg a none.
Steps:
- Decodifica token
- Cambia header:
{"alg": "none", "typ": "JWT"} - Elimina signature (tercer segmento)
- Recodifica:
base64(header).base64(payload).
Cuándo funciona: Si el backend no valida el algoritmo.
Descripción: Confundir RS256 (asymmetric) con HS256 (symmetric).
Steps:
- Obtén la clave pública del servidor (ej.
/jwks.json) - Cambia
algde RS256 a HS256 - 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.
Herramientas:
# hashcat
hashcat -a 0 -m 16500 jwt.txt wordlist.txt
# jwt_tool
python3 jwt_tool.py <token> -C -d wordlist.txtCuándo funciona: Si el secret HMAC es débil (common words, short length).
Encoder/decoder visual con recetas encadenables.
- Tab Herramientas → sub-pestaña Decoder → Cipher
- Input: Pega datos en panel de entrada
- Busca operaciones desde la lista
- Click para agregar a la receta
- Output: Resultado se actualiza automáticamente
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
Input: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0=
Receta:
- Base64 Decode
- Split (separator:
.) - Base64 Decode (solo payload)
Output: {"sub":"1234567890"}
Captura y visualiza tráfico WebSocket.
- 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
- Tab Proxy → sub-pestaña "WS"
- Panel izquierdo: Selecciona conexión WebSocket
- Panel central: Lista de frames
- Panel derecho: Detalle del frame seleccionado
- Input box: Edita y reenvía frames