Business Logic Vulnerabilty on API Transfer

Selanjutnya, didapati kerentanan busines logic vulnerability yang terdapat pada API transfer. Kerentanan ini merupakan jenis kelemahan keamanan yang terjadi ketika ada cacat dalam desain atau implementasi aturan-aturan bisnis sebuah aplikasi. Dengan adanya kerentanan ini pada aplikasi target, penyerang dapat melakukan transfer kepada akun korban dengan nominal minus yang nantinya dapat mengurangi jumlah saldo pada akun korban. Untuk lebih jelasnya, dapat dilihat dibawah ini. Terlihat saldo awal pada akun korban.

Kemudian, dengan akun penyerang lakukan transfer kepada akun korban. Intercept request tersebut menggunakan burp suite.

Namun, seperti yang dapat dilihat pada gambar diatas, request data sudah berbentuk enkripsi. Maka dari itu, kita harus mengirim request tersebut kembali dengan bentuk enkripsi yang valid. Untuk dapat mengirim request dengan bentuk enkripsi yang valid, dapat menggunakan ekstension hackvertor. Sebelumnya, kirim reqeust tersebut ke burp repeater terlebih dahulu. Lalu ambil bentuk request data yang berbentuk JSON normal (sebelum dilakukan enkripsi). Pengambilan bentuk request JSON tersebut dapat diambil dari hasil script frida sebelumnya atau juga dapat melakukan decrypt data request tersebut kembali pada hackvertor. Jika sudah, setting flow enkripsi seperti yang telah dilakukan sebelumnya. Yaitu, XOR→Base64. Jika sudah akan terlihat seperti gambar dibawah ini.

Selanjutnya ubah nilai pada parameter amount menjadi nilai yang minus. Sebagai contoh, disini saya menginputkan nilai -2000 .

Jika sudah, kirim kembali request yang telah dilakukan modifikasi tersebut. Terlihat pada daftar transaksi, transaksi tersebut berhasil dilakukan. Dan terlihat pada saldo milik akun korban, saldo tersebut berhasil dikurangi secara ilegal dari nilai sebelum dilakukannya serangan pada kerentanan ini.

Thanks, Stay Ethical & Happy Hacking! 🍻

Last updated