Automatizace
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
- Otevřete požadavek v Historii HTTP nebo Opakovaném odesílání.
- 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ě.
- Požadavek se otevře jako šablona relace. Veškeré další nastavení se vztahuje na tuto šablonu.
Pozice payloadů
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
| 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ů
| 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
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í
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
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ů
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ů
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:500Dotazy 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
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
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.