OWASP Top 10 Demonstration

(เวอร์ชันล่าสุด 2021)

A07: Authentication Failures (การยืนยันตัวตนล้มเหลว)

ช่องโหว่ที่เกิดจากระบบการล็อกอินที่อ่อนแอ เช่น การใช้รหัสผ่านที่เดาง่าย, ไม่มีนโยบายรหัสผ่านที่รัดกุม, หรือไม่มีการป้องกันการเดาสุ่ม (Brute-force)

Demo: ล็อกอินด้วยรหัสผ่านที่คาดเดาง่าย

ลองใช้ Username: admin และ Password: password

A03: Injection (การฉีดคำสั่งที่เป็นอันตราย)

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

Demo: SQL Injection Login Bypass

ลองใส่ Username เป็น admin'-- แล้วปล่อย Password ว่างไว้ในฟอร์มของ Tab ก่อนหน้า

ตัวอย่าง Query ที่เกิดช่องโหว่:
SELECT * FROM users WHERE user = 'admin'-- ' AND pass = '...'
-- ทำให้ส่วนของการเช็ครหัสผ่านถูกปิดไป และล็อกอินสำเร็จทันที!

A01: Broken Access Control (การควบคุมการเข้าถึงที่หละหลวม)

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

Demo: การเข้าถึงหน้า Admin โดยตรง

หลังจากล็อกอินสำเร็จในฐานะผู้ใช้ทั่วไป ลองเปลี่ยน URL บนเบราว์เซอร์เป็น /admin_panel.html โดยตรง

หากระบบมีช่องโหว่ คุณจะสามารถเข้าถึงหน้า Admin ได้ทันที