---
url: https://docs.ogmabox.com/cs/app/automate.md
description: Spouštějte opakovatelné série požadavků pomocí Automatizace v Ogma.
---

# Automatizace {#automate}

Automatizace (Automate) opakovaně odesílá jednu šablonu požadavku s řízenými obměnami payloadů. Umožňuje tak ve velkém rozsahu zkoušet hodnoty parametrů, provádět fuzzing vstupů nebo testovat řízení přístupu.

## Vytvoření relace {#create-a-session}

1. Otevřete požadavek v **Historii HTTP** nebo **Opakovaném odesílání**.
2. Klikněte na požadavek pravým tlačítkem a zvolte odeslání do **Automatizace** nebo použijte tlačítko **Odeslat do automatizace** na liště.
3. Požadavek se otevře jako šablona relace. Veškeré další nastavení se vztahuje na tuto šablonu.

## Pozice payloadů {#payload-positions}

Pozice payloadů označují místa, kam se payloady vkládají. Ogma při každém požadavku nahradí každou značku hodnotou payloadu.

* Zvýrazněte text v editoru požadavku a kliknutím na **Označit výběr** přidejte značku pozice.
* Značku odeberete kliknutím na její úchyt a volbou **Odebrat**.
* Je podporováno více pozic. Jejich chování závisí na režimu útoku.

## Režimy útoku {#attack-modes}

| Režim | Chování |
|------|----------|
| Sniper | Vždy jedna pozice. Postupně zkouší každý payload v každé pozici. Celkový počet požadavků je počet payloadů krát počet pozic. |
| Battering Ram | Používá stejnou hodnotu payloadu ve všech pozicích současně. |
| Pitchfork | Prochází více pozic souběžně. Páruje první payload ze seznamu A s prvním ze seznamu B a tak dále. Zastaví se při vyčerpání nejkratšího seznamu. |
| Cluster Bomb | Všechny kombinace napříč všemi pozicemi. Počet požadavků odpovídá součinu délek všech seznamů. Používejte s malými seznamy. |
| Postupně | Z každé odpovědi extrahuje nastavenou hodnotu a vloží ji do dalšího požadavku. Před spuštěním nastavte extraktor, cílovou pozici a limit iterací. |

## Zdroje payloadů {#payload-sources}

| Zdroj | Popis |
|--------|-------------|
| Slovník | Načtěte soubor s hodnotami oddělenými novými řádky nebo vložte hodnoty přímo. |
| Číselný rozsah | Vygenerujte číselný rozsah s nastavitelným začátkem, koncem a krokem. |
| Prázdná hodnota | Po nastavený počet iterací nahrazuje pozici prázdným řetězcem; původní označený text nezachovává. |
| Seznam | Zadejte vlastní hodnoty přímo bez souboru. |

## Pravidla shody {#matchers}

Pravidla shody označují řádky výsledků splňující danou podmínku. Řádky nefiltrují; pro každé pravidlo přidávají sloupec s logickou hodnotou.

* Pravidlo přidejte kliknutím na **+Pravidlo shody**.
* Popište podmínku běžným jazykem pomocí tlačítka **AI** nebo ji nastavte ručně.

| Typ podmínky | Shoda nastává, když |
|--------------|--------------|
| Stav | Kód odpovědi se rovná dané hodnotě nebo se od ní liší. |
| Velikost | Délka těla odpovědi spadá do zadaného rozsahu. |
| Obsah těla | Tělo odpovědi obsahuje řetězec nebo odpovídá řetězci či regulárnímu výrazu. |

## Podmínky zastavení {#stop-conditions}

Podmínka zastavení přeruší běh při splnění podmínky shody.

* Nastavte **Podmínku zastavení** pomocí stavu nebo velikosti odpovědi, porovnávacího operátoru a hodnoty.
* Odpovídající výsledek pozastaví běh; již odeslané požadavky se mohou ještě dokončit.

To je užitečné, když potřebujete pouze první úspěšný výsledek, například platné přihlašovací údaje nebo obejití kontroly.

## Extraktory {#extractors}

Extraktory získávají hodnotu z každé odpovědi a ukládají ji do pojmenovaného sloupce.

* Pomocí extraktorů zachytávejte tokeny CSRF, identifikátory relací nebo nonce pro navazující požadavky.
* Popište cíl extrakce pomocí tlačítka **AI** nebo ručně nastavte extrakci typu **Regulární výraz pro tělo**, **Vyhledání textu v těle** či **Hlavička odpovědi**.
* Extrahované hodnoty se zobrazují jako sloupce v tabulce výsledků.
* Pro sekvenční režim výslovně nastavte extraktor používaný k řetězení; odeslání výsledku do jiné relace automaticky nenastavuje extrakci tokenů pro tuto relaci.

## Tabulka výsledků {#results-table}

Každý dokončený požadavek vytvoří jeden řádek.

| Sloupec | Popis |
|--------|-------------|
| # | Pořadové číslo požadavku. |
| Stav | Kód odpovědi HTTP. |
| Velikost | Délka těla odpovědi v bajtech. |
| Doba | Doba od odeslání po přijetí odpovědi v milisekundách. |
| Datový obsah | Hodnoty payloadů použité pro tento požadavek. |
| Sloupce pravidel shody | Jeden sloupec s logickou hodnotou pro každé nastavené pravidlo. |
| Sloupce extraktorů | Jeden sloupec s extrahovanou hodnotou pro každý nastavený extraktor. |

Kliknutím na libovolný řádek otevřete celý požadavek a odpověď v panelu podrobností.

## Filtrování výsledků {#filtering-results}

Zadáním výrazu HTTPQL do řádku **Filtr** nad tabulkou výsledků zúžíte zobrazené řádky. Příklad:

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

Dotazy Automatizace používají jmenný prostor `result.*`. Pro extrahovaný sloupec použijte jeho pole `result.extract.<name>`. Pole `req.*` a `resp.*` z historie HTTP nelze zaměňovat s filtry výsledků Automatizace.

## Pomoc AI {#ai-assist}

Tlačítko **AI** se zobrazuje u polí pro nastavení pravidel shody a extraktorů. Běžným jazykem popište, co chcete zjistit nebo extrahovat. Ogma vygeneruje konfiguraci. Před uložením výsledek zkontrolujte.

## Odeslání výsledku jinam {#send-a-result-elsewhere}

Kliknutím pravým tlačítkem na libovolný řádek výsledku můžete:

* **Odeslat do opakovaného odesílání** – otevřít konkrétní požadavek a odpověď v Opakovaném odesílání pro ruční navazující testování.
* **Odeslat do automatizace (nová relace)** – použít požadavek z řádku výsledku jako šablonu nové relace.
* **Zkopírovat jako cURL** – zkopírovat požadavek jako příkaz curl.

## Související stránky {#related-pages}

* [Opakované odesílání](./replay.md)
* [Prostředí](./environment.md)
* [Exporty](./exports.md)
