two-sum

Satya Kusuma & Vincentius Farrel


Ketika kita melakukan launch instance, akan muncul seperti gambar dibawah, yakni nc dan source codenya.

Setelah menyalakan linux dan membuka source codenya. Didapatkan hasil seperti dibawah ketika mengisi angka secara asal.



Dari source code tersebut, dapat kita lihat pada bagian fungsinya dinyatakan jika a > 0 dan b > 0 dan hasilnya < 0, maka akan memberikan hasil “You have an integer overflow” dan akan melanjutkan codenya yang dimana melakukan read file flag.txt. dalam codenya sendiri sudah dituliskan jika tidak ditemukan file flag.txt, maka akan memberikan print “flag not found: please run this on the server”. Jadi harus dipastikan ulang sudah menggunakan nc yang diberikan. Dan jika sudah sesuai, maka flagnya akan langsung diberikan.

Disini saya menggunakan 2 angka yang merupakan limit dari integer, yakni 2147483647 sebagai a dan bnya. Dan akan menghasilkan flagnya seperti gambar dibawah.


Flag: picoCTF{Tw0_Sum_Integer_Bu773R_0v3rfl0w_482d8fc4}


Notes

Loh kok bisa? Tentu saja bisa, karna limit dari integer -2147483647 sampai 2147483647 yang dimana kalau lebih dari 2147483647, maka hasilnya akan menjadi minus atau biasa disebut overflow. Makanya ini dibilang integer overflow.

*coba masukkin 10 miliar

Thank you for reading!