ทีมต้องทดสอบเส้นทางสำคัญและกรณีล้มเหลวก่อนปล่อยเวอร์ชันใหม่ จึงวินิจฉัยว่า เว็บแอปพลิเคชันมีปัญหา Cross-Site Scripting (XSS) ซึ่งทำให้ผู้โจมตีสามารถฝัง Script อันตรายในหน้าเว็บได้ สาเหตุหลักและวิธีป้องกันที่ถูกต้องคืออะไร

สาเหตุคือไม่มี HTTPS และวิธีป้องกันคือเปิดใช้ SSL Certificate
สาเหตุคือนำข้อมูลจากผู้ใช้ไปแสดงผลโดยไม่ Sanitize และวิธีป้องกันคือ Encode/Escape ข้อมูลก่อนแสดงผลและใช้ Content Security Policy
สาเหตุคือไม่มี CSRF Token และวิธีป้องกันคือเพิ่ม Token ในทุก Form
สาเหตุคือ SQL Query ไม่ได้ใช้ Parameterized Query และวิธีป้องกันคือใช้ Prepared Statements

เฉลยอธิบาย

XSS เกิดจากการนำข้อมูลที่ผู้ใช้ป้อนไปแสดงผลในหน้าเว็บโดยตรงโดยไม่ Sanitize ทำให้ผู้โจมตีฝัง Script มาได้ วิธีป้องกันหลักคือ Output Encoding/Escaping (แปลงอักขระพิเศษ เช่น < > เป็น HTML Entity) และกำหนด Content Security Policy ตัวเลือก A เป็นเรื่อง Transport Security, ตัวเลือก C เป็นการป้องกัน SQL Injection, ตัวเลือก D เป็นการป้องกัน CSRF ซึ่งคนละการโจมตีกัน

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

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