คุกกี้ระเบิด: เมื่อพารามิเตอร์ติดตามกลายเป็นอาวุธล็อกผู้ใช้ไม่ให้เข้าเว็บไซต์
โลกออนไลน์มีช่องโหว่ซ่อนเร้นมากมายที่บางครั้งก็คาดไม่ถึง หนึ่งในนั้นคือกลไกการทำงานของ คุกกี้ และ พารามิเตอร์ติดตาม ซึ่งหากมีการออกแบบที่ไม่รัดกุม อาจกลายเป็นอาวุธร้ายที่ล็อกไม่ให้ผู้ใช้งานเข้าถึงเว็บไซต์ได้ง่ายๆ ด้วยการคลิกเพียงครั้งเดียว
คุกกี้ระเบิดคืออะไร?
เคยสังเกตไหมว่าบางครั้งเมื่อคลิกลิงก์จากแหล่งต่างๆ URL ของเว็บไซต์จะมีส่วนต่อท้ายยาวๆ เช่น utm_source=facebook&utm_medium=post ส่วนเหล่านี้เรียกว่า พารามิเตอร์ติดตาม ที่เว็บไซต์ใช้เก็บข้อมูลแหล่งที่มาของผู้ใช้งาน หรือกิจกรรมที่กำลังทำ พารามิเตอร์ เหล่านี้มักถูกแปลงและบันทึกเป็น คุกกี้ ใน เว็บเบราว์เซอร์ ของผู้ใช้งาน เพื่อให้เว็บไซต์จดจำข้อมูลได้ในครั้งต่อไปที่เข้ามาเยี่ยมชม
ปัญหาเกิดขึ้นเมื่อนักพัฒนาไม่ได้จำกัดความยาวของ พารามิเตอร์ เหล่านี้ ผู้ไม่หวังดีสามารถสร้าง URL ที่มี พารามิเตอร์ติดตาม ซึ่งยาวมากๆ พอเว็บไซต์รับข้อมูลเหล่านี้เข้าไป มันก็จะพยายามสร้าง คุกกี้ ที่มีขนาดใหญ่ผิดปกติ และส่งกลับมาให้ เว็บเบราว์เซอร์ เก็บไว้
ภัยเงียบ: การทำงานที่ปิดกั้นคุณจากเว็บไซต์
เว็บเบราว์เซอร์ ทุกตัวมีข้อจำกัดในการจัดเก็บ คุกกี้ ไม่ว่าจะเป็นขนาดสูงสุดต่อโดเมน (ประมาณ 4 กิโลไบต์) หรือจำนวน คุกกี้ สูงสุดที่เก็บได้ เมื่อเว็บไซต์พยายามตั้ง คุกกี้ ขนาดใหญ่เกิน เว็บเบราว์เซอร์ จะรับไหว หรือมีจำนวนมากเกินไปจน หน่วยความจำเต็ม ระบบจะรวน
ผลที่ตามมาคือ เมื่อผู้ใช้งานพยายามเข้าถึงเว็บไซต์นั้นอีกครั้ง เว็บเบราว์เซอร์ จะพยายามส่ง คุกกี้ กลับไปยังเซิร์ฟเวอร์ แต่เนื่องจาก คุกกี้ มีขนาดใหญ่เกินกำหนด หรือผิดรูปแบบ เซิร์ฟเวอร์จะปฏิเสธคำขอ ผู้ใช้งานจะเห็นข้อผิดพลาดเช่น “HTTP 400 Bad Request” หรือ “Request Header Fields Too Large” ซึ่งหมายความว่า เข้าถึงเว็บไซต์ไม่ได้ นั่นเอง
นี่ไม่ใช่ การโจมตี เซิร์ฟเวอร์ให้ล่ม แต่เป็นการ โจมตี ผู้ใช้งานโดยตรง ทำให้ใช้งานเว็บไซต์ไม่ได้ เหมือนเป็นการ ปฏิเสธการให้บริการ (Denial of Service หรือ DoS) ในระดับบุคคล
โจมตีง่าย ซ่อนเร้นยากจะรู้
การโจมตี ด้วย คุกกี้ระเบิด ทำได้ง่ายมาก ผู้โจมตีเพียงแค่สร้างลิงก์ที่มี พารามิเตอร์ติดตาม ที่ยาวและผิดปกติ แล้วหลอกให้เหยื่อคลิก เมื่อเหยื่อคลิก ลิงก์นั้นก็จะไปทำให้ เว็บเบราว์เซอร์ ของเหยื่อเก็บ คุกกี้ เสียๆ ไว้ หลังจากนั้น เหยื่อก็จะไม่สามารถเข้าเว็บไซต์นั้นได้อีกต่อไป จนกว่าจะไป ล้างคุกกี้ ของเว็บไซต์นั้นออกเอง ซึ่งส่วนใหญ่แล้วผู้ใช้งานทั่วไปจะไม่รู้สาเหตุที่แท้จริง มักจะคิดว่าเว็บไซต์มีปัญหาหรืออินเทอร์เน็ตไม่ดี
ป้องกันตัวเองและผู้ใช้งานของคุณได้อย่างไร
สำหรับผู้ใช้งานทั่วไป หากจู่ๆ เว็บไซต์ที่เข้าเป็นประจำกลับเข้าไม่ได้ ให้ลอง ล้างคุกกี้ สำหรับโดเมนนั้นใน เว็บเบราว์เซอร์ อาจช่วยแก้ปัญหาได้ชั่วคราว
สำหรับผู้พัฒนาเว็บไซต์และผู้ดูแลระบบ การป้องกันปัญหานี้สำคัญอย่างยิ่ง ต้องมีการ ตรวจสอบความถูกต้อง ของข้อมูล พารามิเตอร์ติดตาม ที่เข้ามาจาก URL โดยเฉพาะเรื่องความยาว ต้องมีการจำกัดความยาวของข้อมูลก่อนสร้างเป็น คุกกี้ หรืออาจตัดส่วนที่เกินออกไป การทำเช่นนี้เป็นการเคารพขีดจำกัดของ เว็บเบราว์เซอร์ และป้องกันไม่ให้เกิด คุกกี้ระเบิด ขึ้นมา
นี่เป็นเพียงตัวอย่างหนึ่งของช่องโหว่ที่เกิดจากการออกแบบระบบที่ไม่คำนึงถึงขีดจำกัดและพฤติกรรมที่ไม่คาดฝันของผู้ใช้งานและผู้ไม่ประสงค์ดี ซึ่งย้ำเตือนถึงความสำคัญของการพิจารณาเรื่อง ความปลอดภัยทางไซเบอร์ ในทุกแง่มุมของการพัฒนาเว็บ