Automação
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
- Abra uma requisição no Histórico HTTP ou no Reenvio.
- Clique com o botão direito na requisição e escolha Enviar para Automação, ou use o botão da barra de ferramentas.
- A requisição abre como modelo da sessão. Todas as configurações seguintes se aplicam a esse modelo.
Posições de payloads
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
| 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
| 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
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
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
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
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
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:500As 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
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
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.