Summary (441 pts)
Deskripsi
sum it up baby
nc 103.152.242.228 1011
Author : MockingJay
Pada soal ini kita diberikan sebuah service dan source code-nya yakni chall.py
.
Jadi intinya begini: Kita bisa memasukkan command bash melalui input pada service Syaratnya, 3 byte pertama dari hasil hash input kita harus sama dengan 3 byte pertama dari hasil hash bโecho lolโ Selain itu, input kita tidak boleh mengandung โflag.txtโ Hash yang digunakan adalah sha1 (ini tidak terlalu relevan dengan penyelesaian dari soal)
Di sini vuln-nya adalah pengecekan hasil hash yang hanya pada 3 byte pertama. Apabila kita mencoba memasukkan input berbeda sebanyak lebih dari 256^3 maka kemungkinan terjadi collision akan sangat tinggi (adapun karena di sini kita hanya bisa menggunakan karakter printable, jadi saya menggunakan 4 byte untuk slot karakter random, sehingga ada 100^4 kemungkinan). Maka dari itu, kita buat saja versi input yang berbeda-beda, tapi tujuan command-nya sama, yaitu membaca flag.txt
.
Oh iya, karena command yang kita inputkan tidak boleh ada โflag.txtโ-nya, maka diperlukan workaround. Setelah beberapa trial and error, saya akhirnya menggunakan cat *; echo โ{hal random}โ
.
Untuk mencoba segala kemungkinan tersebut dengan โhal randomโ, saya menggunakan script berikut.
Didapat cat *; echo โ8R=0โ
. Memasukkannya ke service, kita mendapat isi dari semua file yang ada di directory server, termasuk flag.txt
.
Flag: slashroot7{easy_crypt0_chall_f0r_ez_first_chall}
Last updated