0Pricing
Ethical Hacking Academy · บทเรียน

การค้นหาข้อบกพร่องทั่วไป

IDOR, XSS, SSRF

การค้นหาข้อบกพร่องทั่วไป เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

ช่องโหว่พื้นฐานที่พบบ่อย

ช่องโหว่ไม่กี่ประเภทสร้างค่าตอบแทนจากโครงการล่าบั๊กส่วนใหญ่ เพราะพบได้บ่อยและส่งผลกระทบสูง โปรดเชี่ยวชาญสามประเภทนี้ก่อน:

  • IDOR — เข้าถึงข้อมูลของผู้ใช้อื่นผ่านรหัสที่คาดเดาได้
  • XSS — แทรกสคริปต์ลงในหน้าเว็บ
  • SSRF — ทำให้เซิร์ฟเวอร์ดึง URL ที่ผู้โจมตีกำหนด

บทเรียนนี้จะแสดงวิธีค้นหาแต่ละประเภทอย่างเป็นระบบ

ทำความเข้าใจ IDOR

การอ้างอิงออบเจ็กต์โดยตรงที่ไม่ปลอดภัย (IDOR) เกิดขึ้นเมื่อแอปใช้ตัวระบุที่ผู้ใช้ส่งมาเพื่อดึงออบเจ็กต์ โดยไม่ตรวจสอบว่าผู้ใช้นั้นเป็นเจ้าของหรือไม่

เปลี่ยน ID แล้วเข้าถึงข้อมูลของผู้อื่นได้ นี่เป็นข้อบกพร่องด้านการควบคุมสิทธิ์ ไม่ใช่การแทรกข้อมูล

# Your own invoice
GET /api/invoices/1001  Authorization: Bearer <your-token>

# Change the ID - do you get someone else's?
GET /api/invoices/1002  Authorization: Bearer <your-token>

ค้นหา IDOR อย่างมีประสิทธิภาพ

หากต้องการค้นหา IDOR ให้สร้างบัญชีสองบัญชีแล้วเปรียบเทียบกัน ทุกสิ่งที่อ้างถึงออบเจ็กต์ด้วย ID ล้วนเป็นจุดที่ควรตรวจสอบ

  • บันทึกคำขอจากบัญชี A ที่ดึงข้อมูลของ A
  • ส่งคำขอนั้นซ้ำด้วยเซสชันของบัญชี B แต่ใช้ ID ออบเจ็กต์ของ A
  • หาก B มองเห็นข้อมูลของ A นั่นคือ IDOR

ตรวจดู ID ใน URL เนื้อหาคำขอ ส่วนหัว และแม้แต่รูปแบบ base64/UUID

# Original (account A)
POST /api/profile/update
{ "user_id": 5001, "email": "a@example.com" }

# Tamper: use account B's session, keep A's user_id
# If A's profile changes, broken object-level authorization.

ทำความเข้าใจ XSS

การเขียนสคริปต์ข้ามไซต์ (XSS) คือการแทรก JavaScript ที่ทำงานในเบราว์เซอร์ของผู้ใช้อื่น มีสามประเภทหลัก:

  • แบบสะท้อนกลับ — ข้อมูลโจมตีถูกส่งกลับมาในผลตอบกลับทันที
  • แบบจัดเก็บ — ข้อมูลโจมตีถูกบันทึกไว้และส่งให้ผู้ใช้อื่น (ส่งผลกระทบสูงสุด)
  • แบบอิง DOM — JS ฝั่งไคลเอ็นต์เขียนข้อมูลนำเข้าของผู้โจมตีลงใน DOM อย่างไม่ปลอดภัย

การทดสอบหา XSS

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

บริบทจะเป็นตัวกำหนดว่าข้อมูลโจมตีแบบใดสามารถหลุดออกจากบริบทเดิมและทำงานได้

# Probe reflection with a unique canary
?q=xss7391canary

# Basic HTML-context payload
<script>alert(document.domain)</script>

# Attribute breakout
" onmouseover=alert(1) x="

พิสูจน์ผลกระทบของ XSS

alert(1) แบบง่ายพิสูจน์ได้ว่าโค้ดทำงาน แต่ผู้ตรวจสอบต้องการเห็น ผลกระทบ โปรดแสดงให้เห็นว่าผู้โจมตีสามารถขโมยหรือทำอะไรได้จริง

  • อ่านโทเค็น CSRF หรือข้อมูลเซสชันที่ JS เข้าถึงได้
  • แสดง document.domain เพื่อพิสูจน์ต้นทาง
  • สำหรับ XSS แบบจัดเก็บ ให้แสดงว่าโค้ดทำงานในบัญชีของเหยื่อ

อย่าขโมยเซสชันของผู้ใช้จริง เพียงสาธิตความสามารถดังกล่าวเท่านั้น

ทำความเข้าใจ SSRF ในแอป

SSRF ในบริบทของโครงการล่าบั๊ก หมายถึงการค้นหาฟังก์ชันที่ดึง URL ซึ่งคุณควบคุมได้ จุดที่ควรตรวจสอบ ได้แก่:

  • URL ของเว็บฮุก และ URL เรียกกลับ
  • เครื่องมือสร้างรูปภาพ/PDF ที่ดึงทรัพยากรระยะไกล
  • ฟังก์ชันแสดงตัวอย่าง URL / คลี่ลิงก์
  • ฟังก์ชันนำเข้าจาก URL

ชี้ฟังก์ชันเหล่านี้ไปยังปลายทางภายในหรือปลายทางข้อมูลเมทาดาทาเพื่อพิสูจน์ผลกระทบ

ยืนยัน SSRF แบบนอกแบนด์

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

เครื่องมืออย่าง Burp Collaborator หรือ interactsh จะมอบ URL เฉพาะให้คุณ และบันทึกการเรียกเข้ามา

# Give the app your unique OOB URL
POST /api/webhook
{ "callback": "http://abc123.oast.fun/" }

# If abc123.oast.fun logs a DNS/HTTP hit, the server fetched it = SSRF.

ใช้พร็อกซีเพื่อค้นหาช่องโหว่

ช่องโหว่ทั้งสามประเภทค้นพบได้ด้วยการดักจับและแก้ไขคำขอ พร็อกซีสำหรับดักจับจึงเป็นเครื่องมือหลัก

  • Burp Suite หรือ OWASP ZAP สำหรับดักจับ/แก้ไขการรับส่งข้อมูล
  • เครื่องมือส่งซ้ำสำหรับส่งคำขอเดิมและปรับแก้คำขอทีละรายการ
  • เครื่องมือโจมตีซ้ำ/สุ่มข้อมูลสำหรับทดสอบ ID หรือข้อมูลโจมตีจำนวนมาก

การเรียนรู้พร็อกซีของคุณอย่างลึกซึ้งให้ผลคุ้มค่ากว่าเทคนิคใดเทคนิคหนึ่งเพียงอย่างเดียว

เชื่อมช่องโหว่เพื่อเพิ่มผลกระทบ

ค่าตอบแทนก้อนใหญ่มักมาจากการ เชื่อม ช่องโหว่เข้าด้วยกัน ช่องโหว่ความรุนแรงปานกลางเมื่อรวมกับอีกช่องโหว่หนึ่งอาจกลายเป็นช่องโหว่ระดับวิกฤต

  • SSRF ที่เข้าถึงข้อมูลเมทาดาทาบนคลาวด์อาจนำไปสู่การขโมยข้อมูลรับรองและการยึดบัญชี
  • IDOR ที่เปิดเผยโทเค็นอาจนำไปสู่การยึดบัญชีโดยสมบูรณ์
  • XSS แบบจัดเก็บในแผงผู้ดูแลระบบอาจนำไปสู่การยึดบัญชีผู้ดูแลระบบ

ถามตัวเองเสมอว่า ช่องโหว่นี้สามารถนำไปรวมกับอะไรได้บ้าง?

ทดสอบอย่างระมัดระวังและอยู่ในขอบเขต

ช่องโหว่เหล่านี้เกี่ยวข้องกับข้อมูลจริงและผู้ใช้จริง โปรดปฏิบัติอย่างมีจริยธรรม:

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

การสาธิตผลกระทบอย่างมีความรับผิดชอบช่วยให้คุณอยู่ภายใต้การคุ้มครองตามนโยบาย

ตรวจสอบอย่างรวดเร็ว

คุณเข้าสู่ระบบในฐานะผู้ใช้ B ส่งคำขอเดิมซ้ำโดยใช้เซสชันของ B แต่ใส่ ID ออบเจ็กต์ของ A แล้วได้รับข้อมูลส่วนตัวของ A ช่องโหว่นี้คืออะไร?

สรุป: การค้นหาช่องโหว่ที่พบบ่อย

คุณได้เรียนรู้วิธีค้นหาช่องโหว่สามประเภทที่มีมูลค่าสูงสุด

  • IDOR: เปรียบเทียบบัญชีสองบัญชี แก้ไข ID ออบเจ็กต์ และตรวจสอบการบังคับใช้สิทธิ์ความเป็นเจ้าของ
  • XSS: ตรวจสอบการสะท้อนกลับ ปรับข้อมูลโจมตีให้เข้ากับบริบท และพิสูจน์ผลกระทบจริง
  • SSRF: ค้นหาฟังก์ชันที่ดึง URL และยืนยันกรณีที่มองไม่เห็นผลตอบกลับแบบนอกแบนด์
  • เชื่อม ช่องโหว่เพื่อสร้างผลกระทบระดับวิกฤต เช่น SSRF ไปยังข้อมูลเมทาดาทาบนคลาวด์
  • ใช้พร็อกซีสำหรับดักจับและอยู่ภายในขอบเขต

ถัดไป: เปลี่ยนสิ่งที่ค้นพบให้เป็นรายงานที่ได้รับค่าตอบแทน

คำถามที่พบบ่อย

บทเรียน “การค้นหาข้อบกพร่องทั่วไป” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การค้นหาข้อบกพร่องทั่วไป” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การค้นหาข้อบกพร่องทั่วไป”

IDOR, XSS, SSRF คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การค้นหาข้อบกพร่องทั่วไป” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม

ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเลือกเป้าหมาย
  2. รีคอนในระดับใหญ่
  3. การค้นหาข้อบกพร่องทั่วไป
  4. การเขียนรายงานที่ยอดเยี่ยม
← กลับไปที่ Ethical Hacking Academy