Breaking the Game: Score Manipulation and Leaderboard Takeover

Aminudin
3 min readOct 13, 2024

--

Sama seperti sebelumnya disini saya mau membagikan gimana cara saya memecahkan top leaderboard agar menjadi yang pertama di sebuah web3 game!, ok langsung saja.

Pertama sama seperti sebelum sebelumnya saya mencari bug IDOR saya ubek ubek dari mulai edit profile, update foto, pokoknya semua yang update update deh wkwk.

Lalu seperti biasa juga saya cek cek source nya siapa tau ada env atau key key private yang ada di client juga tidak ada jadi saya langsung saja coba gamenya, disini gamenya berbasis web dan digame ini ada leaderboardnya yang dimana posisi tertinggi sudah pasti untuk user yang pointnya paling tinggi.

Lalu saya coba buka gamenya, dan pertama tama seperti biasa saya keasikan memainkan gamenya sampe lupa bahwa saya lagi nyari bug, pertama kali ketika saya cek cek tidak menemukan request request aneh dari http requestnya

Sampai di beberapa game berikutnya saya mencoba lebih fokus lagi dan boom, saya menemukan yang tampaknya menarique. Yaps endpoint finish!

Dan setelah dicek payloadnya lebih menarik lagi, karena ternyata mereka mengirimkan score akhirnya dan game id yang saya mainkan, karena game di webnya banyak jadi perlu game id ini.

Dan setelah saya cek cek lebih jauh lagi pertama mereka membuat request kepada endpoint /matches yang akan membuat matchId dari sebuah game lalu diakhir mereka akan mengirimkan /finish untuk mengakhiri game berdasarkan matchId tersebut

bisa dicek disini sebelum mereka request ke endpoint /finish ketika game dimulai diawali dengan request ke endpoint /matches. OK jadi sekarang kita coba saja langsung….

pertama saya merequest ke endpoint /matches dengan gameId game yang saya mainkan sebelumnya

lalu setelah itu saya request ke endpoint /finish untuk menyelesaikan match tersebut dan mengirimkan score terakhir saya ke server

dan boom success!

sementara leaderboard diisi oleh saya sekarang hahaha

--

--