A07: Authentication Failures (การยืนยันตัวตนล้มเหลว)
ช่องโหว่ที่เกิดจากระบบการล็อกอินที่อ่อนแอ เช่น การใช้รหัสผ่านที่เดาง่าย, ไม่มีนโยบายรหัสผ่านที่รัดกุม, หรือไม่มีการป้องกันการเดาสุ่ม (Brute-force)
A03: Injection (การฉีดคำสั่งที่เป็นอันตราย)
การที่ผู้โจมตีสามารถแทรกคำสั่งอันตราย (เช่น SQL) เข้าไปใน Input เพื่อหลอกให้ระบบทำงานผิดพลาด เช่น การล็อกอินโดยไม่ต้องใช้รหัสผ่าน
Demo: SQL Injection Login Bypass
ลองใส่ Username เป็น admin'-- แล้วปล่อย Password ว่างไว้ในฟอร์มของ Tab ก่อนหน้า
ตัวอย่าง Query ที่เกิดช่องโหว่:
SELECT * FROM users WHERE user = 'admin'-- ' AND pass = '...'
-- ทำให้ส่วนของการเช็ครหัสผ่านถูกปิดไป และล็อกอินสำเร็จทันที!
SELECT * FROM users WHERE user = 'admin'-- ' AND pass = '...'
-- ทำให้ส่วนของการเช็ครหัสผ่านถูกปิดไป และล็อกอินสำเร็จทันที!
A01: Broken Access Control (การควบคุมการเข้าถึงที่หละหลวม)
ช่องโหว่ที่ผู้ใช้ทั่วไปสามารถเข้าถึงข้อมูลหรือหน้าของผู้ดูแลระบบได้ เพียงแค่รู้ URL ที่ถูกต้อง โดยไม่มีการตรวจสอบสิทธิ์
Demo: การเข้าถึงหน้า Admin โดยตรง
หลังจากล็อกอินสำเร็จในฐานะผู้ใช้ทั่วไป ลองเปลี่ยน URL บนเบราว์เซอร์เป็น /admin_panel.html โดยตรง
หากระบบมีช่องโหว่ คุณจะสามารถเข้าถึงหน้า Admin ได้ทันที