content-image
ARTICLES | 02 March 2021

SANS Holiday Challenge 2017 Write-up Part 2

author-image

Incognito Lab

ส่วนนี้จะพูดถึง Snowball game ถ้าใครเล่น snowball game แบบใช้ skill ปกติเล่น นี่จะอารมณ์เสียมากแน่ ๆ เพราะว่าใช้ resource ของเครื่องเยอะมาก และมีความยากในการเล่นสูงมาก โดยเฉพาะหากต้องการเล่นให้ได้ตาม goal ในเกมทั้งหมด

เมื่อเล่นจบเกมในแต่ละครั้งจะมีการส่ง HTTP request ไปที่ server เพื่อทำการ update score โดยหน้าตาของ HTTP request จะคล้าย ๆ format ด้านล่าง

ในส่วนของ HTTP response จาก server จะเป็นไปตามด้านล่าง

ซึ่งถ้านำส่วน body ของ HTTP request มา decode จะช่วยให้ดูง่ายขึ้น

ซึ่งพบว่าใน Body นั้นจะมีการส่ง series ของ event ไป โดยแต่ละ event จะประกอบด้วย 3 ส่วน ได้แก่

  • clientEvents[i][type]
  • clientEvents[i][name]
  • clientEvents[i][stepId]

โดยแต่ละตัวแปรมีความสำคัญดังนี้

  • i หมายถึงเลข event เป็น running number
  • type หมายถึง event type ที่เกิดขึ้นในขณะเล่นเกม
  • name หมายถึง ค่า value ที่จะต้องตรงกับค่า type ตาม Remarks ในตารางด้านบน
  • stepID หมายถึง incremental value คาดว่าเหมือนเป็น time tick

จากตัวอย่าง HTTP Response ข้างต้น

พบว่ามีใน result มีค่าเป็น false สำหรับ 2 events คือ cleartoland และ waypoints

เมื่อเราเข้าใจถึงโครงสร้างของ HTTP Request ที่ใช้ส่งไป update ค่าแล้วเราทำการ craft HTTP Request ใหม่ ให้เป็นไปตามด้านล่าง

นี่คือ HTTP Response ใหม่ที่ได้รับจาก Server ซึ่งพบว่าทุก Event มีค่าเป็น True

ผลลัพธ์หน้าจอที่ Web browser

สามารถใช้เทคนิคนี้เพื่อผ่านทุกด้านได้ (ถ้าผ่านด่านแบบทั่วไปที่แต่ละ stage จะเป็นสีเขียว แต่ถ้าผ่านทุก objective จะเป็นสีเหลือง)

มีข้อมูลแถมนิดหน่อย: ในเกมของปี 2017 นี้ตอนแรก SANS ทำให้มีคะแนนเต็ม 86 คะแนน แต่ภายหลังลดเหลือ 85 คะแนน ซึ่ง 1 คะแนนที่หายไปคือหากใครสามารถ hack การใช้ item ในแต่ละด่านได้จะได้คะแนนนั้นเพิ่ม (item ปกติจะมาจากการเล่น Cranberry pi terminal) แต่ถ้าเราเล่น Cranberry pi ครบแล้วโดยที่ยังไม่ได้ลอง hack ก็จะไม่มีทางได้คะแนนนั้น สุดท้ายทีมงานเลยตัดคะแนนนั้นออกไป

logologo

INCOGNITO LAB CO., LTD.

38 Soi Petchakasem 30, Petchakasem Road, Pak Khlong Phasi Charoen, Phasi Charoen, Bangkok 10160

©2025 Incognito Lab Co., Ltd. All rights reserved

Terms & Conditions Privacy Policy