Automatización
Automatización envía una plantilla de solicitud muchas veces con variaciones controladas de los payloads, lo que permite enumerar parámetros, realizar fuzzing de entradas o probar controles de acceso a gran escala.
Crear una sesión
- Abre una solicitud en Historial HTTP o Reenvío.
- Haz clic derecho en la solicitud y elige Enviar a Automatización, o utiliza el botón de la barra de herramientas.
- La solicitud se abre como plantilla de la sesión. Toda la configuración posterior se aplica a esta plantilla.
Posiciones de los payloads
Las posiciones de los payloads marcan dónde se insertan. Ogma sustituye cada marcador por un valor de payload en cada solicitud.
- Selecciona texto en el editor de solicitudes y haz clic en Marcar para añadir un marcador de posición.
- Elimina un marcador haciendo clic en su control y seleccionando Quitar.
- Se admiten varias posiciones. Su comportamiento depende del modo de ataque.
Modos de ataque
| Modo | Comportamiento |
|---|---|
| Sniper | Una posición cada vez. Recorre cada payload por cada posición en orden. El total de solicitudes es el número de payloads multiplicado por el número de posiciones. |
| Battering Ram | Utiliza el mismo valor de payload en todas las posiciones simultáneamente. |
| Pitchfork | Recorre varias posiciones en paralelo. Empareja el primer payload de la lista A con el primero de la lista B, y así sucesivamente. Se detiene cuando se agota la lista más corta. |
| Cluster Bomb | Todas las combinaciones entre todas las posiciones. El número de solicitudes es el producto de las longitudes de todas las listas. Utilízalo con listas pequeñas. |
| Secuencial | Extrae un valor configurado de cada respuesta y lo inserta en la siguiente solicitud. Configura el extractor, la posición de destino y el límite de iteraciones antes de empezar. |
Fuentes de payloads
| Fuente | Descripción |
|---|---|
| Lista de palabras | Carga un archivo con un valor por línea o pega los valores directamente. |
| Números | Genera un intervalo numérico con inicio, fin y paso configurables. |
| Nulo | Sustituye la posición por una cadena vacía durante el número de iteraciones configurado; no conserva el texto marcado original. |
| Lista personalizada | Introduce los valores directamente sin un archivo. |
Criterios de coincidencia
Los criterios de coincidencia anotan las filas de resultados que cumplen una condición. No filtran filas; añaden una columna booleana por criterio.
- Añade un criterio haciendo clic en + Regla de coincidencia.
- Describe la condición en lenguaje natural con Asistencia de IA, o configúrala manualmente.
| Tipo de criterio | Hay coincidencia cuando |
|---|---|
| Estado | El código de respuesta es igual o distinto de un valor dado. |
| Tamaño | La longitud del cuerpo de respuesta está dentro de un intervalo especificado. |
| Contenido del cuerpo | El cuerpo de respuesta contiene una cadena o coincide con una cadena o expresión regular. |
Condiciones de parada
Una condición de parada detiene la ejecución cuando se cumple un criterio de coincidencia.
- Configura una Condición de parada con el estado o tamaño de la respuesta, un operador de comparación y un valor.
- Un resultado coincidente pausa la ejecución; las solicitudes que ya están en curso pueden completarse.
Esto resulta útil cuando solo necesitas el primer resultado satisfactorio, como una credencial válida o una comprobación eludida.
Extractores
Los extractores obtienen un valor de cada respuesta y lo almacenan en una columna con nombre.
- Utiliza extractores para capturar tokens CSRF, ID de sesión o nonces para solicitudes encadenadas.
- Describe qué quieres extraer con Asistencia de IA, o configura manualmente la extracción mediante una expresión regular del cuerpo, una búsqueda en el cuerpo o una cabecera de respuesta.
- Los valores extraídos aparecen como columnas en la tabla de resultados.
- En el modo secuencial, configura explícitamente el extractor utilizado para el encadenamiento; enviar un resultado a otra sesión no configura automáticamente la extracción de tokens para esa sesión.
Tabla de resultados
Cada solicitud completada produce una fila.
| Columna | Descripción |
|---|---|
| # | Número de secuencia de la solicitud. |
| Estado | Código de respuesta HTTP. |
| Tamaño | Longitud del cuerpo de respuesta en bytes. |
| Tiempo | Tiempo de ida y vuelta en milisegundos. |
| Payload | Los valores de payload utilizados en esta solicitud. |
| Columnas de criterios | Una columna booleana por cada criterio configurado. |
| Columnas de extractores | Una columna de valores extraídos por cada extractor configurado. |
Haz clic en cualquier fila para abrir la solicitud y la respuesta completas en el panel de inspección.
Filtrar resultados
Escribe una expresión HTTPQL en la barra Filtrar situada encima de la tabla de resultados para restringir las filas mostradas. Ejemplo:
text
result.status.eq:200 AND result.len.gt:500Las consultas de Automatización utilizan el espacio de nombres result.*. Para una columna extraída, utiliza su campo result.extract.<name>. Los campos req.* y resp.* del Historial HTTP no son intercambiables con los filtros de resultados de Automatización.
Asistencia de IA
El botón Asistencia de IA aparece junto a los campos de configuración de criterios y extractores. Describe en lenguaje natural lo que quieres detectar o extraer. Ogma genera la configuración. Revisa el resultado antes de guardarlo.
Enviar un resultado a otro destino
Haz clic derecho en cualquier fila de resultados para:
- Enviar a Reenvío: abrir la solicitud y la respuesta concretas en Reenvío para continuar las pruebas manualmente.
- Enviar a una nueva sesión de Automatización: utilizar la solicitud de la fila de resultados como plantilla de una nueva sesión.
- Copiar como curl: copiar la solicitud como un comando curl.