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}


Thank you for reading!