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}