ไม่มีการควบคุมการเข้าถึงระดับฟังก์ชัน

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

ขอให้เราเข้าใจตัวแทนภัยคุกคามผู้โจมตีจุดอ่อนด้านความปลอดภัยผลกระทบทางเทคนิคและผลกระทบทางธุรกิจของข้อบกพร่องนี้ด้วยความช่วยเหลือของแผนภาพง่ายๆ

ตัวอย่าง

นี่คือตัวอย่างคลาสสิกของ Missing Function Level Access Control -

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

' Below URL might be accessible to an authenticated user
http://website.com/app/standarduserpage

' A NON Admin user is able to access admin page without authorization.
http://website.com/app/admin_page

Hands ON

Step 1 - ให้เราเข้าสู่ระบบในฐานะผู้จัดการบัญชีโดยดูรายชื่อผู้ใช้และสิทธิ์การเข้าถึงก่อน

Step 2 - เมื่อลองใช้ชุดค่าผสมต่างๆเราพบว่า Larry สามารถเข้าถึงผู้จัดการบัญชีทรัพยากรได้

กลไกการป้องกัน

  • กลไกการพิสูจน์ตัวตนควรปฏิเสธการเข้าถึงทั้งหมดตามค่าเริ่มต้นและให้การเข้าถึงบทบาทเฉพาะสำหรับทุกฟังก์ชัน

  • ในแอปพลิเคชันที่ใช้เวิร์กโฟลว์ตรวจสอบสถานะของผู้ใช้ก่อนอนุญาตให้เข้าถึงทรัพยากรใด ๆ