[pwnable.kr] – fd

Ini adalah screenshot dari soal fd:

ssh fd@pwnable.kr -p2222 terlihat seperti sebuah command, jadi penulis menjalankan command itu di terminal linux, dan memasukkan password : guest

Setelah menjalankan command id, dapat dilihat bahwa id penulis adalah fd.

Lalu penulis memasukkan command ls -la untuk melihat list file dan directory.

Sepertinya user fd hanya bisa read dan execute file yang bernama fd. Jadi, mari kita lihat bersama apa yang ada di dalam file tersebut.

Apapun inputnya, file fd hanya akan menampilkan output “learn about Linux file IO”. Karena itu, kita perlu melihat source code dari fd untuk mencoba mengerti kenapa outputnya bisa seperti itu.

Maka penulis memasukkan cat fd.c:

Sejauh pengertian penulis, value dari input int (argv[1]) akan dikurangi dengan hex value of 0x1234. Setelah itu, kita perlu meng-input “LETMEWIN\n” agar file fd dapat melaksanakan “system(*/bin/cat flag)”.

Penulis coba menjalankan “./fd 0x1234” tapi outputnya tetap “learn about Linux file IO”. Setelah penulis mencari tahu lebih lanjut, itu karena atoi tidak membaca hex value. Kita perlu mengkonversikan 0x1234 menjadi desimal biasa.

0x1234 adalah hex value dari 4660, jadi penulis menjalankan command “./fd 4660”. Setelah itu penulis input “LETMEWIN” dan menekan enter. Ini adalah outputnya:

Dengan demikian, kita mendapatkan flagnya.

Flag: mommy! I think I know what a file descriptor is!!

Leave a Reply

Your email address will not be published. Required fields are marked *