Diberikan sebuah file elf binary 64 bit dengan nama echo

Dengan proteksi sebagai berikut

Berikut adalah hasil decompile menggunakan IDA pro

Dari hasil decompile IDA pro dipastikan binary tersebut vulnerable terhadap Buffer Overflow karena menggunakan fungsi “gets()” yang tidak memfilter panjang inputan.

Dengan asumsi bahwa ASLR pada mesin dalam keadaan ON dan binary tersebut di proteksi dengan NX bit yang tidak memungkinkan untuk eksekusi shellcode, sehingga teknik yang digunakan adalah ROP ( Return Oriented Programming).

Sebelumnya, ukuran buffer variable v4 yang menyimpan inputan user adalah 0x2710 (10000) bytes (terlihat pada bp-2710h). Dan dibutuhkan 10000 + 8 bytes untuk mengoverwrite RIP.

Karena binary tersebut dicompile dengan flag ( -static ) static binary, pembuatan gadget bisa di automasi menggunakan “ROPgadget” untuk generate ropchain.

Berikut exploit code dari ropchain yang digenerate ROPgadget dan disesuikan dengan ukuran buffer untuk overwrite RIP.

Jalankan script nya.

Setelah itu akan mendapatkan interactive shell.