---
url: https://docs.ogmabox.com/th/app/automate.md
description: เรียกใช้ชุดคำขอที่ทำซ้ำได้ด้วยระบบอัตโนมัติของ Ogma
---

# ระบบอัตโนมัติ {#automate}

ระบบอัตโนมัติส่งเทมเพลตคำขอหนึ่งรายการหลายครั้งโดยควบคุมการเปลี่ยนค่าเพย์โหลด ช่วยให้คุณไล่ตรวจค่าพารามิเตอร์ ฟัซอินพุต หรือทดสอบการควบคุมการเข้าถึงในวงกว้าง

## สร้างเซสชัน {#create-a-session}

1. เปิดคำขอใน **ประวัติ HTTP** หรือ **ส่งซ้ำ**
2. คลิกขวาที่คำขอและเลือก **ส่งไปยังระบบอัตโนมัติ** หรือใช้ปุ่มบนแถบเครื่องมือ
3. คำขอจะเปิดเป็นเทมเพลตของเซสชัน การตั้งค่าทั้งหมดหลังจากนี้จะใช้กับเทมเพลตนี้

## ตำแหน่งเพย์โหลด {#payload-positions}

ตำแหน่งเพย์โหลดระบุจุดที่จะใส่เพย์โหลด Ogma จะแทนเครื่องหมายแต่ละจุดด้วยค่าเพย์โหลดในแต่ละคำขอ

* เลือกข้อความในตัวแก้ไขคำขอแล้วคลิก **ทำเครื่องหมายข้อความที่เลือก** เพื่อเพิ่มเครื่องหมายตำแหน่ง
* ลบเครื่องหมายโดยคลิกที่ตัวจับของเครื่องหมายแล้วเลือก **ลบ**
* รองรับหลายตำแหน่ง โดยพฤติกรรมขึ้นอยู่กับโหมดการโจมตี

## โหมดการโจมตี {#attack-modes}

| โหมด | พฤติกรรม |
|------|----------|
| Sniper | ทดสอบทีละตำแหน่ง โดยวนเพย์โหลดแต่ละค่าผ่านแต่ละตำแหน่งตามลำดับ จำนวนคำขอทั้งหมดเท่ากับจำนวนเพย์โหลดคูณจำนวนตำแหน่ง |
| Battering Ram | ใช้ค่าเพย์โหลดเดียวกันในทุกตำแหน่งพร้อมกัน |
| Pitchfork | วนหลายตำแหน่งไปพร้อมกัน จับคู่เพย์โหลดแรกจากรายการ A กับเพย์โหลดแรกจากรายการ B และทำเช่นนี้ต่อไป หยุดเมื่อรายการที่สั้นที่สุดหมด |
| Cluster Bomb | ทดสอบทุกชุดค่าที่เป็นไปได้จากทุกตำแหน่ง จำนวนคำขอเท่ากับผลคูณของความยาวรายการทั้งหมด ควรใช้กับรายการขนาดเล็ก |
| ตามลำดับ | ดึงค่าที่กำหนดไว้จากแต่ละคำตอบแล้วใส่ลงในคำขอถัดไป ตั้งค่าตัวดึงค่า ตำแหน่งปลายทาง และขีดจำกัดจำนวนรอบก่อนเริ่ม |

## แหล่งเพย์โหลด {#payload-sources}

| แหล่ง | คำอธิบาย |
|--------|-------------|
| รายการคำ | โหลดไฟล์ที่แยกค่าด้วยการขึ้นบรรทัดใหม่ หรือวางค่าโดยตรง |
| ตัวเลข | สร้างช่วงตัวเลขโดยกำหนดค่าเริ่มต้น ค่าสิ้นสุด และระยะก้าวได้ |
| ค่าว่าง (Null) | แทนตำแหน่งด้วยสตริงว่างตามจำนวนรอบที่กำหนด ไม่ได้เก็บข้อความเดิมที่ทำเครื่องหมายไว้ |
| รายการกำหนดเอง | ป้อนค่าโดยตรงโดยไม่ใช้ไฟล์ |

## ตัวจับคู่ {#matchers}

ตัวจับคู่ทำเครื่องหมายแถวผลลัพธ์ที่ตรงตามเงื่อนไข ไม่ได้กรองแถวออก แต่จะเพิ่มคอลัมน์ค่าบูลีนสำหรับตัวจับคู่แต่ละตัว

* เพิ่มตัวจับคู่โดยคลิก **+ ตัวจับคู่**
* อธิบายเงื่อนไขด้วยภาษาทั่วไปผ่าน **AI** หรือตั้งค่าด้วยตนเอง

| ประเภทตัวจับคู่ | ตรงเงื่อนไขเมื่อ |
|--------------|--------------|
| สถานะ | รหัสคำตอบเท่ากับหรือไม่เท่ากับค่าที่ระบุ |
| ขนาด | ความยาวเนื้อหาคำตอบอยู่ในช่วงที่กำหนด |
| เนื้อหาคำตอบ | เนื้อหาคำตอบมีหรือจับคู่ตรงกับสตริงหรือนิพจน์ปกติ |

## เงื่อนไขหยุด {#stop-conditions}

เงื่อนไขหยุดทำให้การทำงานหยุดเมื่อผลลัพธ์ตรงกับตัวจับคู่

* ตั้งค่า **เงื่อนไขหยุด** โดยใช้สถานะหรือขนาดคำตอบ ตัวดำเนินการเปรียบเทียบ และค่า
* ผลลัพธ์ที่ตรงเงื่อนไขจะพักการทำงาน แต่คำขอที่กำลังส่งอยู่แล้วอาจยังเสร็จสมบูรณ์ได้

เหมาะเมื่อคุณต้องการเพียงผลลัพธ์ที่สำเร็จรายการแรก เช่น ข้อมูลรับรองที่ใช้ได้ หรือการตรวจสอบที่สามารถข้ามได้

## ตัวดึงค่า {#extractors}

ตัวดึงค่าดึงค่าจากแต่ละคำตอบและเก็บไว้ในคอลัมน์ที่มีชื่อ

* ใช้ตัวดึงค่าเพื่อเก็บโทเค็น CSRF, ID เซสชัน หรือ nonce สำหรับคำขอที่ต่อเนื่องกัน
* อธิบายค่าที่ต้องการดึงด้วย **AI** หรือตั้งค่าการดึงแบบนิพจน์ปรกติในเนื้อหา ค้นหาข้อความในเนื้อหา หรือส่วนหัวการตอบกลับด้วยตนเอง
* ค่าที่ดึงได้จะปรากฏเป็นคอลัมน์ในตารางผลลัพธ์
* สำหรับโหมดตามลำดับ ให้กำหนดตัวดึงค่าที่ใช้เชื่อมคำขออย่างชัดเจน การส่งผลลัพธ์ไปยังอีกเซสชันไม่ได้ตั้งค่าการดึงโทเค็นให้เซสชันนั้นโดยอัตโนมัติ

## ตารางผลลัพธ์ {#results-table}

คำขอที่เสร็จสมบูรณ์แต่ละรายการจะสร้างหนึ่งแถว

| คอลัมน์ | คำอธิบาย |
|--------|-------------|
| # | หมายเลขลำดับคำขอ |
| สถานะ | รหัสคำตอบ HTTP |
| ขนาด | ความยาวเนื้อหาคำตอบเป็นไบต์ |
| เวลา | เวลารับส่งไปกลับเป็นมิลลิวินาที |
| เพย์โหลด | ค่าเพย์โหลดที่ใช้กับคำขอนี้ |
| คอลัมน์ตัวจับคู่ | คอลัมน์ค่าบูลีนหนึ่งคอลัมน์ต่อตัวจับคู่ที่ตั้งค่าไว้ |
| คอลัมน์ตัวดึงค่า | คอลัมน์ค่าที่ดึงได้หนึ่งคอลัมน์ต่อตัวดึงค่าที่ตั้งค่าไว้ |

คลิกแถวใดก็ได้เพื่อเปิดคำขอและคำตอบฉบับเต็มในแผงตรวจสอบ

## กรองผลลัพธ์ {#filtering-results}

ป้อนนิพจน์ HTTPQL ในแถบ **กรอง** เหนือตารางผลลัพธ์เพื่อจำกัดแถวที่แสดง ตัวอย่าง:

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

คำค้นของระบบอัตโนมัติใช้เนมสเปซ `result.*` สำหรับคอลัมน์ค่าที่ดึงได้ ให้ใช้ฟิลด์ `result.extract.<name>` ของคอลัมน์นั้น ฟิลด์ `req.*` และ `resp.*` ของประวัติ HTTP ไม่สามารถใช้แทนกันกับตัวกรองผลลัพธ์ของระบบอัตโนมัติได้

## ความช่วยเหลือจาก AI {#ai-assist}

ปุ่ม **AI** อยู่ข้างฟิลด์ตั้งค่าตัวจับคู่และตัวดึงค่า อธิบายสิ่งที่ต้องการตรวจจับหรือดึงด้วยภาษาทั่วไป Ogma จะสร้างการตั้งค่าให้ ตรวจทานผลลัพธ์ก่อนบันทึก

## ส่งผลลัพธ์ไปที่อื่น {#send-a-result-elsewhere}

คลิกขวาที่แถวผลลัพธ์ใดก็ได้เพื่อ:

* **ส่งไปยังเครื่องมือส่งซ้ำ** - เปิดคำขอและคำตอบนั้นในเครื่องมือส่งซ้ำเพื่อทดสอบต่อด้วยตนเอง
* **ส่งไปยังระบบอัตโนมัติ (เซสชันใหม่)** - ใช้คำขอของแถวผลลัพธ์เป็นเทมเพลตสำหรับเซสชันใหม่
* **คัดลอกเป็น curl** - คัดลอกคำขอเป็นคำสั่ง curl

## หน้าที่เกี่ยวข้อง {#related-pages}

* [ส่งซ้ำ](./replay.md)
* [สภาพแวดล้อม](./environment.md)
* [รายการส่งออก](./exports.md)
