Link soal: https://ringzer0ctf.com/challenges/45/
Diberikan soal sebagai berikut
Hal yang pertama kita lakukan adalah mencoba untuk mencari-cari sesuatu di inspect element
Setelah beberapa waktu kita melihat-lihat, kita menemukan keanehan pada bagian cookie
Pada cookie, terdapat tulisan AUTH (authentication), lalu kita pun melihat value dari AUTH tersebut
Setelah kita lihat value dari AUTH
“Z3Vlc3QsN2M2MjEyYzdjZmQ5YjRkYiwxNTY5ODYzOTU1LGZhbHNlOjZhYzk1ZjViNDM4Yzk3Y2I5NzcxM2NhNTM4NjJiN2I4”
Kita bisa lihat bahwa value tersebut merupakan bentuk dari base64
Kemudian kita mencoba untuk mendecodenya dan mendapatkan value sebagai berikut:
guest,7c6212c7cfd9b4db,1569863955,false:6ac95f5b438c97cb97713ca53862b7b8
Dikarenakan pada soal tertulis “you don’t have admin access”, kita mencoba untuk mengganti “guest” menjadi “admin” dan “false” menjadi “true” lalu kita encode ke base64 lagi dan kita coba untuk submit
Cara submitnya adalah dengan mengganti nilai value cookie menjadi value base64 baru yang telah kita dapatkan lalu kita refresh browsernya.
Akan tetapi, kita tidak berhasil mendapatkan flagnya
Ternyata yang salah di sini adalah md5 nya
Setelah itu kita mencoba untuk decrypt md5 yang ada di value tadi “6ac95f5b438c97cb97713ca53862b7b8” dan hasilnya nihil
Langkah selanjutnya yang kita lakukan adalah mencoba untuk mencari apa itu value asli dari value md5 tersebut. Kita mencoba untuk mengencrypt “guest,7c6212c7cfd9b4db,1569863955,false” ke md5.
Dan ternyata.. hasilnya adalah … md5 mereka berdua cocok..
Setelah itu kita mencoba untuk mengganti “guest” menjadi “admin” dan “false” menjadi “true” lalu mengencryptnya menggunakan md5
Value yang kita dapatkan adalah: 985ad2d6247dfad4345fa712976f7a96
Setelah itu, kita mencoba untuk mengencode admin,7c6212c7cfd9b4db,1569863955,true:985ad2d6247dfad4345fa712976f7a96 menggunakan base64
Kita mencoba untuk submit lagi dan hasilnya..
Cookie expired…..
Setelah mencoba kedua kali dan masih gagal, kita mencoba untuk mengartikan value-value yang kita dapatkan tadi
Ternyata, value “1569863955” merupakan unix time
Jadii.. kita menggunakan bantuan https://www.unixtimestamp.com/index.php untuk menconvert angka-angka itu menjadi tanggal yang bisa dibaca dan mudah dipahami oleh manusia
Dan.. 1569863955 ternyata adalah 09/30/2019 @ 5:19pm (UTC)
Kita mencoba untuk mengubahnya menjadi esok hari (karena cookie kita expired, sehingga kita mencoba untuk memajukan tanggalnya biar ga expired lagi..)
Kita mencoba memasukkan tanggal 10/01/2020 @ 5:19pm (UTC) dan mendapatkan value 1569907140
Untuk yang kesekian kalinya, kita mencoba untuk mengencode value di bawah ini dengan base64 (sebelumnya md5 nya sudah diganti yaa jangan lupa!) :
admin,7c6212c7cfd9b4db,1601529560,true:bbd21af4a68fe2af35be522219324448
And finally kita mendapatkan flagnya
Flag: FLAG-Feg03OSzWhxO03K94108100f