คลัง
playbooks

Burp Suite Playbook

Burp Suite เป็นเครื่องมือทดสอบความปลอดภัยเว็บที่ใช้กันแพร่หลายที่สุด คู่มือนี้ครอบคลุมการตั้งค่า proxy, การใช้ทุก tab หลัก (Proxy, Repeater, Intruder, Decoder, Comparer), attack types ของ Intruder, และ workflow การทดสอบเว็บแบบใช้งานจริง

BeginnerIntermediateAdvanced#burp#proxy#repeater#intruder#web#playbook#ctf

1. ตั้งค่า proxy + intercept

Burp ทำงานเป็น intercepting proxy — นั่งกลางระหว่าง browser กับ server ทำให้ดู/แก้ทุก request ได้ ต้องตั้ง browser ให้ส่งผ่าน Burp และติดตั้ง CA certificate ของ Burp เพื่อ intercept HTTPS

  1. 1Burp Proxy listener default ที่ 127.0.0.1:8080
  2. 2ตั้ง browser proxy → 127.0.0.1:8080 (แนะนำใช้ FoxyProxy หรือ Burp's browser)
  3. 3ติดตั้ง CA cert: เข้า http://burp → CA Certificate → import เข้า browser (สำหรับ HTTPS)
  4. 4Proxy → Intercept ON/OFF: ON = หยุดทุก request ให้แก้, OFF = ผ่านแต่บันทึกใน HTTP history
  5. 5ดูทุก request ที่ผ่านใน Proxy → HTTP history
ใช้ Burp's embedded browser (Proxy → Open Browser) จะตั้ง proxy + cert ให้อัตโนมัติ — เร็วสุดสำหรับเริ่ม ไม่ต้องตั้งค่าเอง

2. Tab หลักและหน้าที่

Tabใช้ทำอะไร
Proxyintercept/ดู/แก้ request ระหว่าง browser↔server
Repeaterส่ง request ซ้ำ + แก้ทีละครั้ง (ทดสอบ manual)
Intruderautomate ส่งหลาย request (brute/fuzz)
Decoderencode/decode (base64, URL, hex, hash)
Comparerเทียบ response สองอัน (หาความต่าง)
Sequencerวิเคราะห์ความสุ่มของ token/session
Target → Site mapโครงสร้างเว็บที่เจอทั้งหมด

3. Repeater — ทดสอบ manual

Repeater คือ tab ที่ใช้บ่อยสุดในการทดสอบ manual — ส่ง request เดิมซ้ำๆ พร้อมแก้ทีละนิดเพื่อดูว่า server ตอบต่างกันยังไง เหมาะกับทดสอบ injection, IDOR, auth bypass

  1. 1จาก Proxy history → คลิกขวา request → Send to Repeater (Ctrl+R)
  2. 2แก้ request (parameter, header, method, body) ตามต้องการ
  3. 3Send → ดู response ทางขวา
  4. 4แก้แล้วส่งซ้ำเรื่อยๆ เทียบผล (เช่นเปลี่ยน id=1 → id=2 ทดสอบ IDOR)
  5. 5ใช้ทดสอบ SQLi/SSTI/command injection ทีละ payload

4. Intruder — automate attack

Intruder ส่ง request หลายครั้งโดยแทนค่าใน 'payload position' อัตโนมัติ — ใช้ brute-force, fuzzing, enumeration มี 4 attack type:

attack typeการทำงานใช้เมื่อ
Sniper1 payload set, ทีละตำแหน่งfuzz ทีละ field
Battering ram1 payload set, ทุกตำแหน่งพร้อมกันค่าเดียวกันหลายที่
Pitchforkหลาย set, จับคู่ขนานusername+password คู่กัน
Cluster bombหลาย set, ทุก combinationลองทุกคู่ user×pass
  1. 1Send to Intruder (Ctrl+I) จาก request
  2. 2Positions: เลือกตำแหน่งที่จะแทนค่า (กด Add §)
  3. 3เลือก attack type (Sniper/Cluster bomb/...)
  4. 4Payloads: ใส่ wordlist หรือ payload set
  5. 5Start attack → เรียงผลตาม status/length หา response ที่ต่าง (เจอช่องโหว่/credential)
Burp Community Edition จำกัดความเร็ว Intruder (throttle) — สำหรับ brute จำนวนมากใช้ ffuf/hydra เร็วกว่า; Intruder เหมาะ fuzz ที่ต้องดู response ละเอียด

5. Workflow ทดสอบเว็บ

  1. 1เปิด embedded browser → เดินเว็บให้ครบ (build site map ใน Target)
  2. 2ดู HTTP history หา request ที่น่าสนใจ (login, API, parameter)
  3. 3Send to Repeater ทดสอบ manual (injection/IDOR/auth)
  4. 4Send to Intruder ถ้าต้อง automate (fuzz/brute)
  5. 5Decoder ถอด token/encoded values; Comparer เทียบ response
  6. 6ใช้คู่ ffuf สำหรับ content discovery (proxy ffuf ผ่าน Burp -x)

6. Quick Reference

  • setup: embedded browser (Proxy→Open Browser) ตั้งให้อัตโนมัติ
  • Ctrl+R → Repeater (ทดสอบ manual, ส่งซ้ำแก้ทีละนิด)
  • Ctrl+I → Intruder (automate: Sniper/Cluster bomb)
  • Decoder: base64/URL/hex; Comparer: เทียบ response
  • Intruder cluster bomb = ทุก combination user×pass
  • brute เยอะ → ffuf/hydra เร็วกว่า CE Intruder

🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ

สมมติเจอเว็บเป้าหมายในโจทย์ที่ต้องทดสอบ manual (ต่างจาก directory fuzzing อัตโนมัติ) มีแค่ Kali ทำตามนี้ทีละขั้นเพื่อเริ่มดักจับและทดสอบ

  1. 1เช็คว่ามี Burp Suite ไหม: เปิดเมนู Kali หรือ `burpsuite &` (Kali มี Community Edition มาให้แล้ว)
  2. 2เปิด Burp → เลือก Temporary project → Use Burp defaults
  3. 3ไปที่ Proxy → Intercept → กด 'Open Browser' ใช้ browser ที่ฝังมาให้ (ตั้ง proxy/cert อัตโนมัติ ไม่ต้องเซ็ตเอง)
  4. 4เดินเว็บเป้าหมายให้ทั่ว (login, form, ทุกหน้า) ผ่าน browser นั้น — Burp บันทึกทุก request ไว้ที่ Proxy → HTTP history
  5. 5ถ้า HTTPS ไม่ขึ้น/หน้าเตือน cert → ตรวจว่าใช้ embedded browser จริงไหม ถ้าใช้ browser ปกติต้อง import CA cert เอง (http://burp → CA Certificate)
  6. 6ดู HTTP history หา request ที่น่าสนใจ (login, API endpoint, parameter แปลกๆ)
  7. 7คลิกขวา request → Send to Repeater (Ctrl+R) → แก้ parameter ทีละอัน → Send → เทียบ response
  8. 8สงสัย SQLi/IDOR/auth bypass → ลอง payload ใน Repeater ก่อน ถ้ายืนยันช่องโหว่ได้ → ไปหัวข้อเฉพาะเพื่อ exploit ต่อให้ลึก
  9. 9ต้อง brute/fuzz พารามิเตอร์จำนวนมาก → Send to Intruder (Ctrl+I) เลือก payload position + attack type
  10. 10Community Edition ช้า (throttle) ถ้างานใหญ่ → สลับไปใช้ ffuf/hydra แทน
จับมือทดสอบเว็บด้วย Burp
เปิด Burp + สร้าง temporary project
เปิด embedded browser (Proxy → Open Browser)
✅ เปิดได้ ตั้ง proxy/cert อัตโนมัติ→ เดินเว็บต่อ
❌ ใช้ browser ปกติ/HTTPS เตือน cert→ import CA cert เอง (http://burp)
เดินเว็บให้ทั่ว → ดู HTTP history
เจอ request น่าสงสัยไหม? (login/API/param)
✅ เจอ→ Send to Repeater ทดสอบ manual
❌ ยังไม่เจอ/เว็บมี path ซ่อน→ ใช้ FFUF/Directory Enum หา endpoint เพิ่ม
ทดสอบใน Repeater เจอสัญญาณช่องโหว่ไหม?
✅ response ต่างกันชัด (error/length/status)→ ยืนยันช่องโหว่ (SQLi/IDOR/XSS)
❌ ยังไม่เห็นความต่าง→ ลอง payload อื่น หรือ fuzz ด้วย Intruder
ต้อง automate/fuzz จำนวนมาก?
✅ ใช่→ Send to Intruder (เลือก attack type ให้ตรงงาน)
❌ Intruder ช้าเกิน (CE throttle)→ สลับไป ffuf/hydra
ยืนยันช่องโหว่ได้แล้ว → ไป exploit ต่อในหัวข้อเฉพาะ
ขั้นตอน/งานเครื่องมือใน Kaliติดตั้งเพิ่ม (ถ้าไม่มี)เครื่องมือออนไลน์
ดักจับ/แก้ requestburpsuite (embedded browser)--
ทดสอบ manualRepeater (Ctrl+R)--
automate fuzz/bruteIntruder (Ctrl+I)--
encode/decode ค่าDecoder-cyberchef
เทียบ responseComparer--
หา endpoint เพิ่ม-ffuf, gobuster-
brute จำนวนมาก (CE ช้า)-hydra-
ทดสอบ JWT/token--jwt.io
🚑 ถ้าตันสนิท ลองท่าถัดไป: (1) เว็บมี path/endpoint ซ่อนที่หาไม่เจอด้วยการเดินเว็บ → ไป FFUF Playbook หรือ Directory Enumeration (2) เจอ parameter ที่ตอบสนองแปลกๆ ต้องยืนยัน injection → ไป SQL Injection หรือ XSS ตามอาการ (3) เจอ ID ที่เปลี่ยนแล้วเห็นข้อมูลคนอื่น → ไป IDOR (4) brute-force ช้าเกินไปใน Community Edition → เปลี่ยนไปใช้เครื่องมือ command-line (ffuf/hydra) เร็วกว่ามาก

หัวข้อที่เชื่อมโยง

โน้ตของฉัน

ยังไม่มีโน้ตสำหรับหัวข้อนี้