[ångstromCTF 2019] – One Bite

Challenge Description : Whenever I have friends over, I love to brag about things that I can eat in a single bite. Can you give this program a tasty flag that fits the bill?

Diberikan sebuah file executable bernama one_bite ketika di-execute, file tersebut akan meminta input sebagai berikut :

ketika di-input secara asal seperti “dis is a flag”, maka program tersebut akan mengeluarkan output “That didn’t taste so good :(“. Sehingga, menggunakan fungsi string saya mencoba untuk melihat string apa saja yang terdapat pada file tersebut dengan hasil sebagai berikut :

terdapat string “]_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA” yang merupakan kemungkinan input yang diinginkan program tersebut. Tetapi, ketika dimasukkan input dengan string tersebut, output yang dihasilkan tetap sama yaitu “That didn’t taste so good :(“. Setelah itu saya menggunakan gdb dan melakukan disassemble terhadap fungsi main yang dimiliki file tersebut dengan hasil sebagai berikut :

dari hasil tersebut, terlihat bahwa setiap input yang dimasukkan akan dilakukan operasi XOR dengan 0x3c atau bilangan 60 desimal. Selain itu, terdapat juga fungsi strcmp atau “string compare” yang menyocokkan apakah string yang di-input sama dengan input yang sesuai dan file tersebut menyocokan string yang di-input dengan string “]_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA”.

Karena sebelumnya saya sudah mencoba untuk melakukan input dengan string tersebut dan hasilnya salah, maka saya mencoba untuk melakukan debugging dengan melakukan breakpoint setelah fungsi xor yaitu pada alamat memori “0x000000000040072b”

Setelah di run dengan melakukan input string “]_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA”, maka terlihat hasil xor dari string tersebut dengan 60 seperti berikut:

hasil dari XOR terhadap string “]_HZGUcHTURWcUQc[SUR[cHSc^YcOU_WA ” adalah “actf{i_think_im_going_to_be_sick}” dan setelah di-input dengan string tersebut, maka benar bahwa flag-nya adalah “actf{i_think_im_going_to_be_sick}

 

 

Leave a Reply

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