สรุปสั้น
นักวิจัยด้านความปลอดภัยชื่อ นาย Ian Carroll เปิดเผยช่องโหว่ SQL injection แบบไม่ต้องยืนยันตัวตน (unauthenticated) ที่รุนแรงระดับวิกฤตในระบบ Front Gate Tickets (FGT) ซึ่งเป็นบริษัทลูกของ Live Nation/Ticketmaster ที่ดูแลการขายตั๋วให้เทศกาลดนตรีใหญ่ของสหรัฐฯ หลายงาน ทั้ง EDC, Bonnaroo และ Outside Lands โดยจุดที่น่าสนใจคือเขาใช้ Claude Code ที่รันด้วยโมเดล Opus ของ บริษัท Anthropic มาช่วยหลบเลี่ยง Web Application Firewall และสร้างเพย์โหลดโจมตีแบบ blind SQL injection ที่ซับซ้อนหลายขั้นได้สำเร็จ ทำให้สามารถยึดสิทธิ์ผู้ดูแลระบบ (administrator) ได้เต็มรูปแบบจากคำขอ HTTP เพียงคำขอเดียว
เมื่อได้สิทธิ์แอดมินแล้ว ผู้โจมตีสามารถออกตั๋วฟรีแบบไม่จำกัดให้เทศกาลใดก็ได้ ค้นฐานข้อมูลคำสั่งซื้อของลูกค้าได้ตามใจ และอ่านหรือใช้โทเคนรีเซ็ตรหัสผ่านเพื่อยึดบัญชีพนักงานและลูกค้าทั้งแพลตฟอร์ม ฐานข้อมูล fgs ที่เข้าถึงได้มีมากกว่า 500 ตาราง รวมถึงข้อมูลรับรองของพนักงาน ข้อมูลลูกค้า และโทเคนยืนยันตัวตนที่ยังใช้งานได้จริง กรณีนี้สะท้อนแนวโน้มที่โมเดลภาษาขนาดใหญ่ถูกนำมาช่วยงานวิจัยและเจาะช่องโหว่มากขึ้น ขณะที่โครงสร้างพื้นฐานระบบตั๋วรุ่นเก่าที่ถือทั้งข้อมูลส่วนบุคคลและข้อมูลการเงินยังคงเป็นเป้าหมายที่น่าสนใจ ทางผู้ให้บริการได้แก้ไขช่องโหว่อย่างรวดเร็วและระบุว่าจะเปิดโครงการ bug bounty เร็ว ๆ นี้
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 3 กรกฎาคม 2569 ว่า นาย Ian Carroll สังเกตเห็นว่าเทศกาลดนตรีใหญ่เกือบทุกงานในสหรัฐฯ ล้วนไหลผ่านโดเมนเก่าไม่กี่โดเมนของ FGT เหมือนกัน ระหว่างที่เขาทำ fuzzing บน API ที่ปลายทาง fgtapi.frontgatetickets.com ด้วยเครื่องมือ ffuf เขาพบว่าเส้นทาง endpoint ใดก็ตามที่มีคำว่า “device” จะทำให้เกิด error เฉพาะที่เรียกร้องพารามิเตอร์ deviceUID ซึ่งเผยให้เห็น middleware แบบไม่ต้องยืนยันตัวตนที่ผูกกับฮาร์ดแวร์เครื่องสแกนหน้างานและระบบบ็อกซ์ออฟฟิศ
การทดสอบพบว่าค่า deviceUID เท่ากับ 12345 ผ่านได้ แต่พอเติมเครื่องหมายอัญประกาศเดี่ยว (single quote) เข้าไปกลับทำให้คำขอค้าง บ่งชี้ว่าพารามิเตอร์ถูกนำไปต่อเข้ากับคำสั่ง SQL ดิบ ๆ โดยไม่ผ่านการกรอง แม้ endpoint นี้จะอยู่หลัง AWS Web Application Firewall และเครื่องมือทั่วไปอย่าง sqlmap ใช้ไม่ได้ผล นาย Ian Carroll จึงส่งปัญหานี้ให้ Claude Code ที่รันโมเดล Opus จัดการ ซึ่ง Claude ค้นพบว่า WAF ตรวจสอบเฉพาะชั้นนอกของอินพุตเท่านั้น หมายความว่าเพย์โหลดที่ซ่อนอยู่ใน subquery ชั้นในจะเล็ดลอดผ่านไปได้โดยไม่ถูกตรวจจับ
เนื่องจาก endpoint ไม่ได้คืนผลลัพธ์ของ query ออกมาตรง ๆ Claude จึงออกแบบการโจมตีแบบ boolean-based blind SQL injection โดยอาศัยพฤติกรรมของ MySQL ที่การนำสตริงบวกเข้ากับตัวเลขจะถูกแปลงเป็นศูนย์ การสลับค่าในคำตอบระหว่างชื่ออุปกรณ์จริงสองตัว (“MC70-023” เมื่อเงื่อนไขเป็นจริง และ “Intellitix Upload” เมื่อเป็นเท็จ) กลายเป็น oracle ที่เชื่อถือได้สำหรับดึงข้อมูลออกมาทีละบิต จนสุดท้ายเขาอ่านค่าจากตาราง RESET_TOKEN หลังสั่งรีเซ็ตรหัสผ่าน แล้วยึดบัญชีผู้ดูแลระบบได้โดยไม่ต้องรู้รหัสผ่านเลย
รายละเอียดช่องโหว่
ต้นตอของช่องโหว่คือการนำค่า deviceUID ที่ผู้ใช้ควบคุมได้ไปต่อเข้ากับคำสั่ง SQL โดยตรงโดยไม่มีการ sanitize ทำให้เกิด SQL injection แบบไม่ต้องยืนยันตัวตน จุดสำคัญที่ทำให้การโจมตีสำเร็จคือการที่ WAF ตรวจเฉพาะโครงสร้างชั้นนอกของคำขอ แต่ไม่ได้วิเคราะห์ subquery ที่ซ้อนอยู่ข้างใน เพย์โหลดตัวอย่างเช่น deviceUID = x'+(SELECT CASE WHEN <COND> THEN 1 ELSE 0 END)-- - จึงหลุดผ่านและทำงานได้
ฐานข้อมูล fgs มีตารางมากกว่า 500 ตาราง โดยตารางที่อ่อนไหวที่สุดได้แก่ FGS_USER (อีเมล, passcode, passcode2, permissions JSON), PERSON (อีเมล, passcode, reset token) และ RESET_TOKEN / API_TOKEN ที่เก็บโทเคนเซสชันและ OAuth ที่ยังใช้งานและแลกใช้ได้จริง เมื่อได้สิทธิ์แอดมิน ผู้โจมตีสามารถออกตั๋ว “comp” ฟรีไม่จำกัด ค้นฐานข้อมูลคำสั่งซื้อ (การทดสอบค้นคำว่า “chris” คืนผลลัพธ์หลายพันรายการ) และใช้โทเคนรีเซ็ตยึดบัญชีทั่วทั้งแพลตฟอร์ม นาย Ian Carroll หยุดเพียงแค่พิสูจน์ว่าควบคุมระดับแอดมินของงาน EDC และ Bonnaroo ได้ โดยไม่ดึงข้อมูลจำนวนมากออกมา ที่น่ากังวลคือ Front Gate Tickets และ Live Nation ไม่มีช่องทางติดต่อด้านความปลอดภัยที่ประกาศไว้ต่อสาธารณะ ทำให้นักวิจัยต้องเดาอีเมลสำหรับแจ้งเตือนช่องโหว่เอง
ผลกระทบต่อไทย
แม้ Front Gate Tickets จะให้บริการงานในสหรัฐฯ เป็นหลัก แต่บทเรียนนี้ตรงกับความเสี่ยงของผู้ให้บริการขายตั๋วออนไลน์ อีเวนต์ คอนเสิร์ต และแพลตฟอร์มอีคอมเมิร์ซในไทยที่มักใช้ระบบรุ่นเก่าและรวมทั้งการขายออนไลน์กับฮาร์ดแวร์หน้างานไว้ด้วยกัน ช่องโหว่ SQL injection ที่ไม่ต้องยืนยันตัวตนเพียงจุดเดียวอาจเปิดทางให้เข้าถึงข้อมูลลูกค้าจำนวนมาก ทั้งชื่อ อีเมล และข้อมูลการชำระเงิน ที่สำคัญยิ่งกว่าคือแนวโน้มการใช้ AI อย่าง Claude หรือโมเดลอื่นมาช่วยค้นและประกอบการโจมตีหลายขั้น ทำให้กำแพงป้องกันแบบ WAF เพียงชั้นเดียวไม่เพียงพออีกต่อไป ทีมพัฒนาและผู้ดูแลระบบในไทยจึงควรถือว่าการโจมตีที่ใช้ AI ช่วยเป็นภัยที่ใกล้ตัวขึ้นเรื่อย ๆ
คำแนะนำ
ผู้ดูแลระบบและนักพัฒนาควรใช้ parameterized query หรือ prepared statement กับทุก input ที่รับจากภายนอกเสมอ ห้ามนำค่ามาต่อเป็นคำสั่ง SQL โดยตรง และไม่พึ่งพา WAF เป็นแนวป้องกันเดียว เพราะ WAF ที่ตรวจเฉพาะชั้นนอกอาจถูกหลบด้วยเพย์โหลดที่ซ้อนใน subquery ควรทบทวน endpoint แบบไม่ต้องยืนยันตัวตนทั้งหมด โดยเฉพาะที่ผูกกับฮาร์ดแวร์หรือ middleware เก่า ควรจำกัดสิทธิ์บัญชีฐานข้อมูลตามหลัก least privilege เพื่อลดผลกระทบเมื่อถูกเจาะ หมุนเวียน (rotate) โทเคนและ reset token ที่อาจรั่ว รวมถึงตั้งอายุหมดอายุที่สั้นลง และควรมีช่องทางรับแจ้งช่องโหว่ (security.txt / disclosure email) ที่ชัดเจน เพื่อให้นักวิจัยรายงานได้โดยไม่ต้องเดา
