บริษัทหนึ่งพบว่าเว็บไซต์ถูกโจมตีด้วย SQL Injection ทำให้ผู้โจมตีสามารถดึงข้อมูลจากฐานข้อมูลได้ สาเหตุหลักของช่องโหว่นี้คืออะไร

การไม่ตรวจสอบหรือกรองข้อมูลที่ผู้ใช้ป้อนเข้ามาก่อนนำไปประมวลผลในคำสั่ง SQL
การใช้โปรโตคอล HTTPS แทน HTTP ในการรับส่งข้อมูลระหว่างเซิร์ฟเวอร์และผู้ใช้
การตั้งรหัสผ่านของฐานข้อมูลที่มีความซับซ้อนไม่เพียงพอตามมาตรฐานความปลอดภัย
การไม่ติดตั้งโปรแกรมป้องกันไวรัสบนเครื่องเซิร์ฟเวอร์ที่ให้บริการเว็บไซต์

เฉลยอธิบาย

SQL Injection เกิดจากการที่แอปพลิเคชันไม่ทำการตรวจสอบ (Validate) หรือกรอง (Sanitize) ข้อมูลที่ผู้ใช้ป้อนเข้ามาก่อนนำไปรวมกับคำสั่ง SQL ทำให้ผู้โจมตีสามารถแทรกคำสั่ง SQL อันตรายเพื่อเข้าถึงหรือแก้ไขข้อมูลในฐานข้อมูลได้ วิธีป้องกันที่ดีที่สุดคือการใช้ Prepared Statements และการกรองข้อมูลนำเข้าอย่างเคร่งครัด

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการใช้คอมพิวเตอร์ ระบบฮาร์ดแวร์ (Hardware) และระบบซอฟต์แวร์ (Software) และระบบความมั่นคงปลอดภัยด้านสารสนเทศ

ดูข้อสอบวิชานี้ทั้งหมด →