2 คะแนน โดย GN⁺ 2024-01-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การค้นพบ XSS บน Chess.com

  • ระหว่างเล่นหมากรุกเป็นงานอดิเรกและลองเล่นกับเทคนิคต่าง ๆ ก็พบช่องโหว่ XSS บน Chess.com
  • Chess.com เป็นเว็บไซต์หมากรุกออนไลน์ที่ใหญ่ที่สุดบนอินเทอร์เน็ต โดยมีสมาชิกมากกว่า 100 ล้านคน

ภาพรวม

  • เริ่มใช้งาน Chess.com อย่างจริงจังมากขึ้นในช่วงต้นปี 2023
  • ชวนเพื่อนให้สมัครเว็บไซต์ และเมื่อใช้ฟีเจอร์เพื่อนก็กลายเป็นเพื่อนกันได้ทันที
  • จึงสงสัยว่าสามารถทำการเพิ่มเพื่อนอัตโนมัติได้หรือไม่ ในลักษณะคล้ายกับ MySpace worm
  • สร้างบัญชีใหม่และเปิดแท็บ Network ในเครื่องมือนักพัฒนา จนพบ URL สำหรับการเพิ่มเพื่อนอัตโนมัติ

ช่วงกลางเกม

  • ทดลองทำ XSS โดยใช้ TinyMCE rich text editor
  • ใช้ Burp proxy เพื่อแทรกโค้ด HTML ลงไปตรง ๆ ในคำอธิบาย 'About'
  • ตรวจสอบการตั้งค่า TinyMCE และสร้าง XSS payload โดยใช้พร็อพเพอร์ตีสไตล์ background-image
  • ทดสอบสัญลักษณ์หลายแบบเพื่อหาวิธีที่ทำให้ XSS ทำงานได้
  • สุดท้ายพัฒนาวิธีที่สามารถดึง cookie และ JavaScript object ออกมาได้

เอนด์เกม

  • พยายามทำให้ XSS ทำงานได้อย่างสมบูรณ์
  • พบวิธีใหม่ที่ใช้แอตทริบิวต์ srcset เพื่อให้ใช้ไวยากรณ์ JS ได้กว้างขึ้น
  • ใช้การเข้ารหัส Base64 เพื่อรัน XSS payload ได้โดยตรง
  • TinyMCE editor ถูกใช้งานทั่วทั้งเว็บไซต์ จึงทำให้ผลกระทบมีวงกว้าง

การวิเคราะห์

  • สาเหตุรากของช่องโหว่มาจากฟังก์ชันอัปโหลดภาพซ้ำ
  • สามารถหลบเลี่ยงการตรวจสอบ image hosting ได้ด้วยการใส่ชื่อโดเมนของ Chess.com
  • rich text editor อนุญาตองค์ประกอบ HTML ได้หลากหลาย จึงเหมาะกับการทำ XSS
  • TinyMCE เป็นเวอร์ชันล่าสุด แต่ขาดการ sanitize กับ HTML ขั้นสุดท้าย
  • Chess.com ควรทำการ sanitize กับ HTML ขั้นสุดท้ายที่จะแสดงให้ผู้ใช้เห็น

ความเห็นของ GN⁺:

  1. บล็อกโพสต์นี้อธิบายกระบวนการค้นพบและรายงานช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้นได้บนแพลตฟอร์มออนไลน์ขนาดใหญ่อย่าง Chess.com ได้น่าสนใจ
  2. ช่องโหว่ XSS อาจเป็นภัยคุกคามร้ายแรงต่อความปลอดภัยของเว็บไซต์ และการค้นหาและแก้ไขช่องโหว่ลักษณะนี้มีความสำคัญอย่างยิ่งต่อการคุ้มครองข้อมูลส่วนตัวของผู้ใช้เว็บไซต์
  3. บทความนี้เน้นย้ำกับนักพัฒนาซอฟต์แวร์และผู้เชี่ยวชาญด้านความปลอดภัยถึงความสำคัญของการตระหนักรู้ถึงช่องโหว่ในองค์ประกอบของเว็บแอปพลิเคชัน เช่น rich text editor และการป้องกันช่องโหว่เหล่านี้

1 ความคิดเห็น

 
GN⁺ 2024-01-27
ความคิดเห็นจาก Hacker News
  • การแนะนำตัวและข้อมูลพื้นหลังของผู้เขียนต้นฉบับ (OP)

    • เป็นนักเรียนชาวสหราชอาณาจักรอายุ 17 ปี กำลังเรียน A-Levels และกำลังพิจารณาทางเลือกระหว่างมหาวิทยาลัยกับการฝึกงานควบคู่ปริญญา
    • จากโปรไฟล์ GitHub พบว่าเป็นสมาชิกหลักของ HashPals เป็นผู้สร้าง Search-That-Hash และเป็นผู้ดูแลคลังโอเพนซอร์สของซอฟต์แวร์ฟรีสำหรับแท็บเล็ต ReMarkable
    • มีการกล่าวถึงการประเมินเชิงบวกต่อ lichess.org และการแบ่งปันความสนใจด้านเทคนิค
  • ความเห็นเกี่ยวกับฟังก์ชันที่เกี่ยวข้องกับเวิร์ม MySpace

    • กล่าวถึงเวิร์ม MySpace ราวปี 2005 โดยผู้เขียนระบุว่าตนยังไม่เกิดในเวลานั้น
    • มีการชี้ว่าผู้ใช้รายอื่นเคยพบและบันทึกปรากฏการณ์ที่มีคนควบคุมการเดินหมากในเกมหมากรุกของตน และได้รายงานปัญหานี้ไปยัง chess.com แล้วแต่ยังไม่ได้รับการแก้ไข
  • คำถามเชิงเทคนิคเกี่ยวกับช่องโหว่ XSS

    • ตั้งข้อสงสัยว่าทำไมคุกกี้ PHPSESSID จึงไม่เป็น HttpOnly และทำไมช่องโหว่ XSS ที่ทราบอยู่แล้วจึงยังไม่ได้รับการแก้ไข
    • แสดงความสนใจต่อรายงาน bug bounty ของ XSS และตระหนักถึงความยากของกระบวนการดังกล่าว
  • ความเห็นเกี่ยวกับ rich text editor ของ chess.com

    • มีปฏิกิริยาเชิงขำขันต่อการเรียก rich text editor ว่าเป็น "จอกศักดิ์สิทธิ์" และแสดงความกังวลว่าแม้จะเป็นเว็บไซต์ขนาดใหญ่ ฟีเจอร์ลักษณะนี้ก็ยังอาจมีช่องโหว่ได้
  • คำถามเกี่ยวกับคำย่อทางเทคนิค

    • ถามความหมายของ "OSRF" และคาดเดาว่าอาจหมายถึง "Own-Site Request Forgery" ที่คล้ายกับ CSRF
  • คำถามเชิงเทคนิคเกี่ยวกับการรีไดเรกต์ของซับโดเมน

    • ขอคำอธิบายว่าการรีไดเรกต์จากซับโดเมน (chess.com.foo.bar) สามารถเลี่ยงนโยบายแหล่งที่มาเดียว (same-origin policy) ได้อย่างไร.