---
url: https://docs.ogmabox.com/pt/app/automate.md
description: Execute campanhas repetíveis de requisições com a Automação do Ogma.
---

# Automação {#automate}

Automação envia um modelo de requisição muitas vezes com variação controlada de payloads, permitindo enumerar parâmetros, realizar fuzzing de entradas ou testar controles de acesso em escala.

## Criar uma sessão {#create-a-session}

1. Abra uma requisição no **Histórico HTTP** ou no **Reenvio**.
2. Clique com o botão direito na requisição e escolha **Enviar para Automação**, ou use o botão da barra de ferramentas.
3. A requisição abre como modelo da sessão. Todas as configurações seguintes se aplicam a esse modelo.

## Posições de payloads {#payload-positions}

As posições de payloads marcam onde eles são inseridos. O Ogma substitui cada marcador por um valor de payload em cada requisição.

* Selecione um texto no editor de requisições e clique em **Marcar** para adicionar um marcador de posição.
* Remova um marcador clicando em seu controle e selecionando **Remover**.
* Há suporte a várias posições. Seu comportamento depende do modo de ataque.

## Modos de ataque {#attack-modes}

| Modo | Comportamento |
|------|----------|
| Sniper | Uma posição por vez. Percorre cada payload em cada posição, em sequência. O total de requisições é a quantidade de payloads multiplicada pela quantidade de posições. |
| Battering Ram | Usa o mesmo valor de payload em todas as posições simultaneamente. |
| Pitchfork | Percorre várias posições em paralelo. Combina o primeiro payload da lista A com o primeiro da lista B, e assim por diante. Para quando a lista mais curta se esgota. |
| Cluster Bomb | Todas as combinações entre todas as posições. A quantidade de requisições é o produto dos comprimentos de todas as listas. Use com listas pequenas. |
| Sequencial | Extrai um valor configurado de cada resposta e o injeta na próxima requisição. Configure o extrator, a posição de destino e o limite de iterações antes de iniciar. |

## Fontes de payloads {#payload-sources}

| Fonte | Descrição |
|--------|-------------|
| Lista de palavras | Carregue um arquivo com valores separados por quebras de linha ou cole os valores diretamente. |
| Números | Gere um intervalo numérico com início, fim e passo configuráveis. |
| Nulo | Substitui a posição por uma string vazia durante o número configurado de iterações; não mantém o texto marcado original. |
| Lista personalizada | Insira valores diretamente, sem um arquivo. |

## Regras de correspondência {#matchers}

As regras de correspondência anotam as linhas de resultados que atendem a uma condição. Elas não filtram linhas; adicionam uma coluna booleana por regra.

* Adicione uma regra clicando em **+ Regra de correspondência**.
* Descreva a condição em linguagem natural usando **Assistência de IA**, ou configure-a manualmente.

| Tipo de regra | Há correspondência quando |
|--------------|--------------|
| Status | O código de resposta é igual ou diferente de um valor especificado. |
| Tamanho | O comprimento do corpo da resposta está dentro de um intervalo especificado. |
| Conteúdo do corpo | O corpo da resposta contém uma string ou corresponde a uma string ou expressão regular. |

## Condições de parada {#stop-conditions}

Uma condição de parada interrompe a execução quando uma regra de correspondência é acionada.

* Configure uma **Condição de parada** usando o status ou o tamanho da resposta, um operador de comparação e um valor.
* Um resultado correspondente pausa a execução; requisições já em andamento ainda podem ser concluídas.

Isso é útil quando você precisa apenas do primeiro resultado bem-sucedido, como uma credencial válida ou uma verificação contornada.

## Extratores {#extractors}

Os extratores obtêm um valor de cada resposta e o armazenam em uma coluna com nome.

* Use extratores para capturar tokens CSRF, IDs de sessão ou nonces para requisições encadeadas.
* Descreva o alvo da extração usando **Assistência de IA**, ou configure manualmente a extração com Expressão regular no corpo, Grep no corpo ou Cabeçalho da resposta.
* Os valores extraídos aparecem como colunas na tabela de resultados.
* No modo sequencial, configure explicitamente o extrator usado para o encadeamento; enviar um resultado para outra sessão não configura automaticamente a extração de tokens para essa sessão.

## Tabela de resultados {#results-table}

Cada requisição concluída produz uma linha.

| Coluna | Descrição |
|--------|-------------|
| # | Número de sequência da requisição. |
| Status | Código de resposta HTTP. |
| Tamanho | Comprimento do corpo da resposta em bytes. |
| Tempo | Tempo de ida e volta em milissegundos. |
| Payload | Os valores de payload usados nesta requisição. |
| Colunas de regras | Uma coluna booleana por regra de correspondência configurada. |
| Colunas de extratores | Uma coluna de valores extraídos por extrator configurado. |

Clique em qualquer linha para abrir a requisição e a resposta completas no painel de inspeção.

## Filtrar resultados {#filtering-results}

Digite uma expressão HTTPQL na barra **Filtro** acima da tabela de resultados para restringir as linhas exibidas. Exemplo:

```text
result.status.eq:200 AND result.len.gt:500
```

As consultas de Automação usam o namespace `result.*`. Para uma coluna extraída, use seu campo `result.extract.<name>`. Os campos `req.*` e `resp.*` do Histórico HTTP não são intercambiáveis com os filtros de resultados de Automação.

## Assistência de IA {#ai-assist}

O botão **Assistência de IA** aparece ao lado dos campos de configuração de regras de correspondência e extratores. Descreva em linguagem natural o que você quer detectar ou extrair. O Ogma gera a configuração. Revise o resultado antes de salvar.

## Enviar um resultado para outro destino {#send-a-result-elsewhere}

Clique com o botão direito em qualquer linha de resultados para:

* **Enviar para Reenvio**: abrir a requisição e a resposta específicas no Reenvio para continuar as verificações manualmente.
* **Enviar para nova sessão de Automação**: usar a requisição da linha de resultados como modelo de uma nova sessão.
* **Copiar como curl**: copiar a requisição como um comando curl.

## Páginas relacionadas {#related-pages}

* [Reenvio](./replay.md)
* [Ambiente](./environment.md)
* [Exportações](./exports.md)
