Buffer Overflow 2
Calvin Winata
Bedasarkan descriptionnya saya asumsikan ini ret2win dengan bumbu bumbu sedap lainnya.
Pertama
kita checksec dulu
ok disini gak ada canary
kita gdb dulu buat check offset dari eipnya
pattern create dan kita run
Di registernya kt bisa menemukan eip addressnya
Tapi disini saya langsmenggunakan pattern offset $eip
Ketemu offsetnya 112.
Disini saya ada sempat stuck karena bingung kenapa script saya
terus segmentation fault, dan saya menemukan sebuah gambaran yang sangat membantu
https://zhu45.org/posts/2017/Jul/30/understanding-how-function-call-works/
Jadi untuk 32bit setelah kita BOF dan inject payload, kita harus memiliki padding lagi. Baru bisa tampering parameter argument 1 dan 2
Ini script yang saya buat untuk solve chall ini.
Pertama saya menyesuaikan BOFnya dengan offset $iep yang kita temukan diatas.
Kemudian saya menggunakan disas win untuk menentukan address win. untuk loncat ke winnya :D
Disini paddingnya 4, karena kita ada pindah function dan ini 32 bit.
Kemudian kita overwrite arg1 dan 2 dengan corresponding hex, biar dia gk return balik. Dan bisa print flagnya.
Disini portnya beda karena mesinnya mati tadi jadi harus dinyalain ulang
Yak dan benar flagnya ok
Flag: picoCTF{argum3nt5_4_d4yZ_4b24a3aa}