0Pricing
Cyber Security Academy · บทเรียน

การอนุญาตที่มีข้อบกพร่อง

BOLA และข้อบกพร่องด้านการเข้าถึง

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

การยืนยันตัวตนกับการอนุญาตสิทธิ์

การยืนยันตัวตนพิสูจน์ว่าคุณเป็นใคร ส่วนการอนุญาตสิทธิ์ตัดสินว่าคุณได้รับอนุญาตให้ทำอะไรได้บ้าง

การอนุญาตสิทธิ์ที่ผิดพลาดหมายถึงระบบอนุญาตให้ผู้ใช้ทำหรือดูสิ่งที่ไม่ควรทำหรือดู

BOLA คืออะไร

BOLAย่อมาจากการอนุญาตสิทธิ์ระดับออบเจ็กต์ที่ผิดพลาด

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

ตัวอย่าง BOLA

ลองจินตนาการว่าบัญชีของคุณเป็นผู้ใช้หมายเลข 100

GET /api/users/100/orders

หากคุณเปลี่ยน ID แล้วเซิร์ฟเวอร์ยังคงตอบกลับ แสดงว่าคุณเพิ่งอ่านคำสั่งซื้อของผู้อื่น นั่นคือ BOLA

เหตุใดจึงเกิด BOLA

นักพัฒนามักเชื่อถือ ID ที่อยู่ในคำขอ

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

การอนุญาตสิทธิ์ระดับฟังก์ชัน

ข้อบกพร่องอีกประเภทหนึ่งคือBFLA: การอนุญาตสิทธิ์ระดับฟังก์ชันที่ผิดพลาด

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

ตัวอย่าง BFLA

ลองพิจารณาเส้นทางของผู้ดูแลระบบ:

DELETE /api/admin/users/55

หากผู้ใช้ทั่วไปเรียกใช้ได้สำเร็จ เอพีไอก็ไม่ได้บังคับใช้การเข้าถึงตามบทบาท

การกำหนดค่าจำนวนมาก

เอพีไอบางรายการจับคู่ช่องข้อมูลในคำขอเข้ากับระเบียนโดยไม่ตรวจสอบอย่างรอบคอบ

ผู้ใช้อาจเพิ่มช่องข้อมูลอย่าง role=admin ลงในการอัปเดตโปรไฟล์ แล้วแอบยกระดับสิทธิ์ของตนเอง

ตรวจสอบที่เซิร์ฟเวอร์

อย่าพึ่งพาไคลเอนต์ในการซ่อนปุ่มหรือช่องข้อมูล

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

ใช้ ID ที่คาดเดาไม่ได้

ID แบบเรียงลำดับทำให้ใช้ประโยชน์จาก BOLA ได้ง่าย

การใช้ตัวระบุแบบสุ่ม เช่น UUID ไม่ได้ทดแทนการตรวจสอบการอนุญาตสิทธิ์ แต่ช่วยตัดการโจมตีแบบเดาตัวเลขถัดไปอย่างง่ายออกไป

ปฏิเสธเป็นค่าเริ่มต้น

เอพีไอที่ปลอดภัยจะปฏิเสธเป็นค่าเริ่มต้น

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

ทดสอบการอนุญาตสิทธิ์

ข้อบกพร่องด้านการอนุญาตสิทธิ์ซ่อนอยู่ได้ง่าย จึงควรทดสอบโดยตั้งใจ

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

ตรวจสอบความเข้าใจ

เอพีไอยืนยันว่าคุณเข้าสู่ระบบแล้ว แต่ส่งคืนระเบียนของผู้ใช้อื่นเมื่อคุณเปลี่ยน ID ข้อบกพร่องนี้เรียกว่าอะไร

ทบทวน

การอนุญาตสิทธิ์ที่ผิดพลาดทำให้ผู้ใช้เข้าถึงสิ่งที่ไม่ควรเข้าถึงได้ โปรดระวังBOLA BFLA และการกำหนดค่าจำนวนมาก

บังคับใช้การตรวจสอบความเป็นเจ้าของและบทบาทที่เซิร์ฟเวอร์ ปฏิเสธเป็นค่าเริ่มต้น และทดสอบการอนุญาตสิทธิ์อย่างตั้งใจ

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

บทเรียน “การอนุญาตที่มีข้อบกพร่อง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การอนุญาตที่มีข้อบกพร่อง”

BOLA และข้อบกพร่องด้านการเข้าถึง คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

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

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

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

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

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

  1. พื้นผิวการโจมตี API
  2. การอนุญาตที่มีข้อบกพร่อง
  3. การจำกัดอัตราและการใช้งานในทางที่ผิด
  4. การรักษาความปลอดภัยคีย์ API
← กลับไปที่ Cyber Security Academy