Misc
Last updated
Last updated
Solar System (500 pts)🥇
-
Diberikan file zip dengan isi sebagai berikut
Karena soal ini masih terlalu asing bagi kami , jadi kami coba lakukan pencarian mengenai bagaimana cara compile file .sol . Disini kami menemukan ada package brownie pada python (https://eth-brownie.readthedocs.io/en/stable/) namun ketika kami coba compile gagal. Kami lanjut mencari hingga menemukan referensi writeup berikut https://medium.com/zh3r0/sharky-ctf-blockchain-level-0-to-4-writeup-524b728709d0 . Jadi ternyata kita bisa lakukan compile menggunakan remix ide dan ada online compilernya , jadi gunakan online compiler (https://remix.ethereum.org/) . Ada beberapa contract didalam file .sol, disini kami lakukan penyelesaian untuk setiap contract.
Flag1 merupakan free flag bisa langsung kita dapatkan pada contract International_Space_Station di constructor.
Flag1 : w0w_im_going_around_the_galaxy
Flag2 gunakan remix ide, compile dan deploy contract baru.
Disini ada beberapa fungsi yang bisa kita panggil, namun bisa dilihat pada beberapa fungsi terdapat requirement, seperti contohnya untuk fungsi earth kita harus jalankan fungsi neptune terlebih dahulu. Jadi disini kami lakukan pemetaan pemanggilan fungsi dan juga constraint lain sehingga didapatkan sebagai berikut
Pada flagzonia terdapat pengecekan tambahan, yaitu Intergalactic_Visa . Disini untuk mengubah variable tersebut menjadi true kita perlu memanggil fungsi visum. Namun gas kita 0, jadi setelah kami cek ada fungsi exclusive_gas dan bisa dijalankan ketika kita sudah ke bumi dan tambahan gas harus 50. Jadi nantinya gas = 0 setelah di Visum dan memenuhi semua constraint yang ada. Terakhir tinggal panggil flagzonia dan dapat angka yang merupakan part of flag.
Flag2 : 2498186224138974628302655144
Flag3 adalah nama fungsi yang ada pada contract Bank_Of_Flagzonia dan memiliki execution fee paling rendah. Karena kami tidak tahu bagaimana mengecek execution fee, maka coba-coba saja karena kebetulan daftar fungsi yang mencurigakan hanya ada 2 yakni donateClothes dan donateHouse. Dan diakhir kami mendapatkan yang benar yaitu donateHouse setelah mencobanya pada platform hehe.
Flag3 : donateHouse
Flag4 kami dapatkan dengan static analysis. Lakukan beautify pada Space_Artifacts.json
Selanjutnya terdapat kodingan yang mirip pada contract Space_Artifac pada SOLAR.sol . Lakukan beautify dengan mengubah melakukan parsing terhadap \n.
Jadi flag adalah hidden-Box. Namun dapat dilhat bahwa hidden dan Box valuenya dihilangkan pada kodingan diatas. Mencari di Space_Artifacts.json kami menemukan kedua value tersebut
Selanjutnya karena itu merupakan hexvalue maka perlu kita ubah ke bentuk ascii nya
Flag4 : f0r_th0s3_wh0_N33dEd_dyjkn82910}
Gabungkan semua flag dengan format NCW22{1_2_3_4 dan submit
Flag : NCW22{w0w_im_going_around_the_galaxy_2498186224138974628302655144_donateHouse_f0r_th0s3_wh0_N33dEd_dyjkn82910}