---
url: https://docs.ogmabox.com/id/app/automate.md
description: Jalankan kampanye permintaan yang dapat diulang dengan Otomatisasi Ogma.
---

# Otomatisasi {#automate}

Otomatisasi mengirim satu templat permintaan berkali-kali dengan variasi payload yang terkendali, sehingga Anda dapat mengenumerasi parameter, melakukan fuzzing masukan, atau menguji kontrol akses dalam skala besar.

## Membuat Sesi {#create-a-session}

1. Buka permintaan di **Riwayat HTTP** atau **Kirim Ulang**.
2. Di Riwayat HTTP, klik kanan permintaan dan pilih **Kirim Ke > Otomatisasi**; di Kirim Ulang, gunakan **Kirim ke Otomatisasi** pada bilah alat.
3. Permintaan terbuka sebagai templat sesi. Semua konfigurasi selanjutnya berlaku pada templat ini.

## Posisi Payload {#payload-positions}

Posisi payload menandai tempat payload disisipkan. Ogma mengganti setiap penanda dengan nilai payload untuk setiap permintaan.

* Sorot teks dalam editor permintaan dan klik **Tandai pilihan** untuk menambahkan penanda posisi.
* Hapus penanda dengan mengeklik pegangan penanda dan memilih **Hapus**.
* Beberapa posisi didukung. Perilakunya bergantung pada mode serangan.

## Mode Serangan {#attack-modes}

| Mode | Perilaku |
|------|----------|
| Sniper | Satu posisi setiap kali. Mengiterasi setiap payload melalui setiap posisi secara bergantian. Jumlah permintaan sama dengan jumlah payload dikalikan jumlah posisi. |
| Battering Ram | Menggunakan nilai payload yang sama di semua posisi secara bersamaan. |
| Pitchfork | Beberapa posisi diiterasi secara paralel. Memasangkan payload pertama dari daftar A dengan payload pertama dari daftar B, dan seterusnya. Berhenti ketika daftar terpendek habis. |
| Cluster Bomb | Setiap kombinasi di seluruh posisi. Jumlah permintaan sama dengan hasil kali panjang semua daftar. Gunakan dengan daftar kecil. |
| Berurutan | Mengekstrak nilai yang dikonfigurasi dari setiap respons dan menyisipkannya ke permintaan berikutnya. Konfigurasikan ekstraktor, posisi target, dan batas iterasi sebelum memulai. |

## Sumber Payload {#payload-sources}

| Sumber | Deskripsi |
|--------|-------------|
| Daftar kata | Muat file yang dipisahkan baris baru atau tempel nilai secara langsung. |
| Angka | Hasilkan rentang numerik dengan awal, akhir, dan langkah yang dapat dikonfigurasi. |
| Null (kosong) | Mengganti posisi dengan string kosong selama jumlah iterasi yang dikonfigurasi; tidak mempertahankan teks asli yang ditandai. |
| Daftar kustom | Masukkan nilai langsung tanpa file. |

## Pencocok {#matchers}

Pencocok memberi anotasi pada baris hasil yang memenuhi kondisi. Pencocok tidak memfilter baris; pencocok menambahkan satu kolom boolean untuk setiap pencocok.

* Tambahkan pencocok dengan mengeklik **+ Pencocok**.
* Jelaskan kondisi dalam bahasa sehari-hari menggunakan **AI**, atau konfigurasikan secara manual.

| Jenis pencocok | Cocok ketika |
|--------------|--------------|
| Status | Kode respons sama dengan atau berbeda dari nilai tertentu. |
| Ukuran | Panjang isi respons berada dalam rentang yang ditentukan. |
| Konten isi | Isi respons mengandung atau cocok dengan string atau regex. |

## Kondisi Berhenti {#stop-conditions}

Kondisi berhenti menghentikan eksekusi ketika pencocok terpicu.

* Konfigurasikan **Kondisi penghentian** menggunakan status atau ukuran respons, operator perbandingan, dan nilai.
* Hasil yang cocok menjeda eksekusi; permintaan yang sedang berlangsung masih dapat selesai.

Ini berguna ketika Anda hanya memerlukan hasil pertama yang berhasil, seperti kredensial valid atau pemeriksaan yang berhasil dilewati.

## Pengekstrak {#extractors}

Ekstraktor mengambil nilai dari setiap respons dan menyimpannya sebagai kolom bernama.

* Gunakan ekstraktor untuk mengambil token CSRF, ID sesi, atau nonce bagi permintaan berantai.
* Jelaskan target ekstraksi menggunakan **AI**, atau konfigurasikan ekstraksi Regex Isi, Grep Isi, atau Header Respons secara manual.
* Nilai yang diekstrak muncul sebagai kolom dalam tabel hasil.
* Untuk mode berurutan, konfigurasikan ekstraktor yang digunakan untuk perangkaian secara eksplisit; hasil yang dikirim ke sesi lain tidak secara otomatis menetapkan ekstraksi token untuk sesi tersebut.

## Tabel Hasil {#results-table}

Setiap permintaan yang selesai menghasilkan satu baris.

| Kolom | Deskripsi |
|--------|-------------|
| # | Nomor urut permintaan. |
| Status | Kode respons HTTP. |
| Ukuran | Panjang isi respons dalam byte. |
| Waktu | Waktu bolak-balik dalam milidetik. |
| Payload | Nilai payload yang digunakan untuk permintaan ini. |
| Kolom pencocok | Satu kolom boolean untuk setiap pencocok yang dikonfigurasi. |
| Kolom ekstraktor | Satu kolom nilai yang diekstrak untuk setiap ekstraktor yang dikonfigurasi. |

Klik baris mana pun untuk membuka permintaan dan respons lengkap dalam panel pemeriksa.

## Memfilter Hasil {#filtering-results}

Ketik ekspresi HTTPQL di bilah **Filter** di atas tabel hasil untuk mempersempit baris yang ditampilkan. Contoh:

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

Kueri Otomatisasi menggunakan namespace `result.*`. Untuk kolom yang diekstrak, gunakan kolom `result.extract.<name>`-nya. Kolom `req.*` dan `resp.*` di Riwayat HTTP tidak dapat dipertukarkan dengan filter hasil Otomatisasi.

## Bantuan AI {#ai-assist}

Tombol **AI** muncul di samping kolom konfigurasi pencocok dan ekstraktor. Jelaskan apa yang ingin Anda deteksi atau ekstrak dalam bahasa sehari-hari. Ogma menghasilkan konfigurasi. Tinjau hasilnya sebelum menyimpan.

## Mengirim Hasil ke Tempat Lain {#send-a-result-elsewhere}

Gunakan tindakan berikut untuk menindaklanjuti baris hasil:

* **Kirim ke Kirim Ulang** - membuka permintaan dan respons tertentu di Kirim Ulang untuk tindak lanjut manual.
* **Kirim ke Otomatisasi (sesi baru)** - menggunakan permintaan baris hasil sebagai templat sesi baru.
* **Salin Sebagai > cURL** - gunakan **Lihat di Riwayat** untuk membuka entri terkait di Riwayat HTTP, lalu pilih tindakan ini dari menu klik kanan untuk menyalin permintaan sebagai perintah curl.

## Halaman Terkait {#related-pages}

* [Kirim Ulang](./replay.md)
* [Lingkungan](./environment.md)
* [Ekspor](./exports.md)
