Cross-site Scripting (XSS) (ครอส ไซต์ สคริปต์ติ้ง) คืออะไร
xss หรือ cross site scripting คือการส่งสคริปข้ามเว็บไซต์ เพื่อโจมตีเหยื่อที่เปิดเข้าไป หรือโจมตีหน้าเว็บเพจ ที่ Hacker นิยมใช้กัน โดยอาศัย
สาเหตุของ XSS
การโจมตีและช่องโหว่ประเภท Cross-site Scripting (XSS) ช่องโหว่ทั้ง 3 ประเภท (Reflected, Stored, และ DOM-based XSS) เกิดจากการที่ผู้พัฒนา เว็บแอปพลิเคชัน ไม่ได้ทำการตรวจสอบข้อมูลที่ได้รับมาจากผู้ใช้งานให้ดี ก่อนนำไปแสดงผลให้กับผู้ใช้งานคนอื่น ดังนั้น หากต้องการป้องกันการเกิดช่องโหว่ประเภทนี้ ต้องเริ่มต้นที่การตรวจสอบและคัดกรองข้อมูลที่ได้รับมาจากผู้ใช้งานให้ดี (หลักการป้องกันเดียวกับ SQL Injection)
การป้องกัน
การป้องกันปัญหาความปลอดภัย XSS อาศัยการกรองอินพุตจากผู้ใช้เป็นหลัก โดยอินพุตต่างๆ ไม่ควรถูกนำมาใช้งานในทันที แต่ต้องมีการกรองก่อนทุกครั้ง และต้องมั่นใจได้ว่าผู้ใช้ไม่สามารถวางสคริปต์ใดๆ ลงในเว็บได้ ค่าความปลอดภัยเริ่มต้นของ CMS หลายตัวมักตั้งค่าความปลอดภัยสำหรับ XSS ไว้เป็นอย่างดีแล้ว ตัวอย่างในกรณีของ Drupal นั้นจะกำหนด filtered HTML สำหรับผู้ใช้ทั่วไป และ full HTML สำหรับผู้ใช้ที่วางใจได้เท่านั้น โดย filtered HTML จะปิดไม่ให้ผู้ใช้สามารถวางสคริปต์ใดๆ ลงในแบบฟอร์มได้ หรือหากวางได้ก็จะแสดงผลเป็นโค้ดไปยังหน้าเว็บ ไม่ได้เป็นสคริปต์ที่รันได้ ซึ่งการกรองเหล่านนี้ไม่ใช่เพียงแท็ก script เท่านั้นแต่รวมไปถึง attribute หลายตัว เช่น onload, onclick รวมเป็น Event Handler ทั้งหมด 94 กรณี และ CSS ในบางกรณีอีกด้วย (ดูรายการตรวจสอบ XSS ได้ใน OWASP)
ระบบป้องกันจำพวก Intrusion Detection System (IDS) หลายตัวมีความสามารถในการตรวจจับว่าผู้ใช้พยายามโพสสคริปต์เข้ามายังเว็บหรือไม่ ทำให้สามารถแจ้งเตือนได้แต่เนิ่นๆ ว่ามีความพยายามทดสอบว่าเว็บมีการรักษาความปลอดภัยที่ดี
XSS และ CSRF เป็นปัญหาความปลอดภัยสำคัญที่เป็นความรับผิดชอบของนักพัฒนาเว็บโดยตรงที่จะป้องกันปัญหาเปล่านี้ ความระมัดระวังในทุกๆ อินพุตเป็นสิ่งสำคัญ เมื่อเรากำลังให้บริการทั้งโลกที่ไม่แน่ใจว่ามีใครพยายามทำอะไรอยู่บ้าง ในฝั่งเบราว์เซอร์ เบราว์เซอร์ยุคใหม่ล้วนมีความสามรถในการวิเคราะห์โค้ดที่มีความพยายามโจมตีด้วย XSS กันมากขึ้นเรื่อยๆ เช่น การฝังสคริปต์ไว้ในยูอาร์แอล แต่ความสามารถเหล่านี้ก็ยังจำกัดอยู่มาก ความรับผิดชอบจึงตกกับนักพัฒนาเว็บเป็นหลัก
ภาพประกอบจาก :https://www.indusface.com
บทความที่เกี่ยวข้อง : Cross-site Scripting (XSS) (ครอส ไซต์ สคริปต์ติ้ง) คืออะไร
- บทความเกียวกับ Security เรื่องความปลอดภัย และ Antivirus(122)
- ถาม - ตอบ คอมพิวเตอร์(143)
- แชร์ความรู้เกียวกับ IOT Internet of things(163)
- แชร์ความรู้เกียวกับ Software testing(157)