การโจมตีแบบ SQL Injection เกิดขึ้นได้อย่างไร และแนวทางป้องกันที่ดีที่สุดในเชิงพัฒนาซอฟต์แวร์คืออะไร
กเกิดจากการดักจับ Session Cookie ป้องกันด้วยการใช้ HTTPS
ขเกิดจากการใช้รหัสผ่านที่อ่อนแอ ป้องกันด้วยนโยบายรหัสผ่านที่เข้มงวด
คเกิดจากการส่ง Script อันตรายผ่านหน้าเว็บ ป้องกันด้วยการ Sanitize Output
งเกิดจากผู้โจมตีแทรกคำสั่ง SQL ผ่านช่องรับข้อมูล ป้องกันด้วย Parameterized Queries หรือ Prepared Statements
เฉลยอธิบาย
SQL Injection เกิดเมื่อแอปพลิเคชันรับข้อมูลจากผู้ใช้โดยไม่กรองและนำไปต่อกับคำสั่ง SQL ทำให้ผู้โจมตีแทรกคำสั่ง SQL อันตรายได้ วิธีป้องกันที่ดีที่สุดคือ Parameterized Queries/Prepared Statements ซึ่งแยกโครงสร้างคำสั่งออกจากข้อมูลอย่างเด็ดขาด