---
url: https://docs.ogmabox.com/fr/app/automate.md
description: >-
  Exécutez des campagnes de requêtes reproductibles avec l’outil Automatisation
  d’Ogma.
---

# Automatisation {#automate}

L’outil Automatisation (Automate) envoie plusieurs fois un même modèle de requête en faisant varier les charges utiles de manière contrôlée. Vous pouvez ainsi énumérer des paramètres, soumettre les entrées à du fuzzing ou tester les contrôles d'accès à grande échelle.

## Créer une session {#create-a-session}

1. Ouvrez une requête dans **Historique HTTP** ou **Rejeu**.
2. Faites un clic droit sur la requête et choisissez **Automatisation**, ou utilisez le bouton de la barre d'outils.
3. La requête s'ouvre comme modèle de la session. Toute configuration ultérieure s'applique à ce modèle.

## Positions des charges utiles {#payload-positions}

Les positions indiquent où insérer les charges utiles. Pour chaque requête, Ogma remplace chaque marqueur par une valeur de charge utile.

* Sélectionnez du texte dans l'éditeur de requêtes et cliquez sur **Marquer la sélection** pour ajouter un marqueur de position.
* Supprimez un marqueur en cliquant sur sa poignée et en sélectionnant **Supprimer**.
* Plusieurs positions sont prises en charge. Leur comportement dépend du mode d'attaque.

## Modes d'attaque {#attack-modes}

| Mode | Comportement |
|------|----------|
| Sniper | Une position à la fois. Applique chaque charge utile à chaque position, à tour de rôle. Le nombre total de requêtes est égal au nombre de charges utiles multiplié par le nombre de positions. |
| Battering Ram | Utilise simultanément la même valeur de charge utile à toutes les positions. |
| Pitchfork | Parcourt plusieurs positions en parallèle. Associe la première charge utile de la liste A à la première de la liste B, et ainsi de suite. S'arrête lorsque la liste la plus courte est épuisée. |
| Cluster Bomb | Essaie toutes les combinaisons entre toutes les positions. Le nombre de requêtes est égal au produit des longueurs de toutes les listes. À utiliser avec de petites listes. |
| Séquentiel | Extrait une valeur configurée de chaque réponse et l'injecte dans la requête suivante. Configurez l'extracteur, la position cible et la limite d'itérations avant de démarrer. |

## Sources des charges utiles {#payload-sources}

| Source | Description |
|--------|-------------|
| Liste de mots | Chargez un fichier contenant une valeur par ligne ou collez directement les valeurs. |
| Nombres (Numbers) | Générez une plage numérique dont le début, la fin et le pas sont configurables. |
| Null | Remplace la position par une chaîne vide pendant le nombre d'itérations configuré ; ne conserve pas le texte marqué d'origine. |
| Liste personnalisée (Custom list) | Saisissez les valeurs directement, sans fichier. |

## Critères de correspondance {#matchers}

Les critères de correspondance, ou matchers, annotent les lignes de résultat qui remplissent une condition. Ils ne filtrent pas les lignes ; ils ajoutent une colonne booléenne par critère.

* Ajoutez un critère en cliquant sur **+ Ajouter un critère**.
* Décrivez la condition en langage naturel avec **IA**, ou configurez-la manuellement.

| Type de critère | Condition de correspondance |
|--------------|--------------|
| État | Le code de réponse est égal ou différent d'une valeur donnée. |
| Taille | La longueur du corps de la réponse se situe dans une plage donnée. |
| Contenu du corps (Body content) | Le corps de la réponse contient une chaîne ou correspond à une chaîne ou à une expression régulière. |

## Conditions d'arrêt {#stop-conditions}

Une condition d'arrêt interrompt l'exécution lorsqu'un critère de correspondance est satisfait.

* Configurez une **Condition d’arrêt** à l'aide du code d'état ou de la taille de la réponse, d'un opérateur de comparaison et d'une valeur.
* Un résultat correspondant met l'exécution en pause ; les requêtes déjà en cours peuvent encore se terminer.

Cette fonction est utile lorsque seul le premier résultat réussi vous intéresse, par exemple des informations d'authentification valides ou un contrôle contourné.

## Extracteurs {#extractors}

Les extracteurs récupèrent une valeur dans chaque réponse et la stockent dans une colonne nommée.

* Utilisez les extracteurs pour récupérer des jetons CSRF, des identifiants de session ou des nonces destinés à des requêtes enchaînées.
* Décrivez la cible de l'extraction avec **IA**, ou configurez manuellement l'extraction Expression régulière sur le corps, Recherche dans le corps ou En-tête de réponse.
* Les valeurs extraites apparaissent sous forme de colonnes dans le tableau des résultats.
* En mode séquentiel, configurez explicitement l'extracteur utilisé pour l'enchaînement ; envoyer un résultat vers une autre session ne met pas automatiquement en place l'extraction de jetons pour cette session.

## Tableau des résultats {#results-table}

Chaque requête terminée produit une ligne.

| Colonne | Description |
|--------|-------------|
| # | Numéro d'ordre de la requête. |
| État | Code de réponse HTTP. |
| Taille | Longueur du corps de la réponse en octets. |
| Durée | Durée de l'aller-retour en millisecondes. |
| Charge utile | Valeur ou valeurs de charge utile utilisées pour cette requête. |
| Colonnes des critères de correspondance | Une colonne booléenne par critère configuré. |
| Colonnes des extracteurs | Une colonne de valeurs extraites par extracteur configuré. |

Cliquez sur une ligne pour ouvrir la requête et la réponse complètes dans le panneau d'inspection.

## Filtrer les résultats {#filtering-results}

Saisissez une expression HTTPQL dans la barre **Filtrer**, au-dessus du tableau des résultats, pour restreindre les lignes affichées. Exemple :

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

Les requêtes d’Automatisation utilisent l'espace de noms `result.*`. Pour une colonne extraite, utilisez son champ `result.extract.<name>`. Les champs `req.*` et `resp.*` de l’historique HTTP ne sont pas interchangeables avec les filtres des résultats d’Automatisation.

## Assistance par IA {#ai-assist}

Le bouton **IA** apparaît à côté des champs de configuration des critères de correspondance et des extracteurs. Décrivez en langage naturel ce que vous souhaitez détecter ou extraire. Ogma génère la configuration. Examinez le résultat avant de l'enregistrer.

## Envoyer un résultat vers un autre outil {#send-a-result-elsewhere}

Faites un clic droit sur une ligne de résultat pour :

* **Envoyer vers le rejeu** : ouvrir la requête et la réponse précises dans Rejeu pour un examen manuel complémentaire.
* **Envoyer vers Automatisation (nouvelle session)** : utiliser la requête de la ligne de résultat comme modèle d'une nouvelle session.
* **Copier sous forme de commande curl (Copy as curl)** : copier la requête sous forme de commande curl.

## Pages connexes {#related-pages}

* [Rejeu](./replay.md)
* [Environnement](./environment.md)
* [Exports](./exports.md)
