Cyber Security Enthusiast

Manipulasi Harga Pemesanan Tiket Kamar Hotel Dengan Tampering

M

Description

Menurut laman imperva itu begini gan:

Parameter tampering is a simple attack targeting the application business logic. This attack takes advantage of the fact that many programmers rely on hidden or fixed fields (such as a hidden tag in a form or a parameter in a URL) as the only security measure for certain operations. Attackers can easily modify these parameters to bypass the security mechanisms that rely on them.

https://www.imperva.com/learn/application-security/parameter-tampering/

Jadi intinya itu saat lu di sisi client entah itu aplikasi web atau mobile, dll ketika lu misal klik tombol “submit”, request nya itu bisa kita tahan dulu sebelum sampai di server target, untuk selanjutnya di analisis atau di ubah request nya sesuai yang kita inginkan. Jadi nanti begitu kita misal edit parameter atau value dengan hal lain dan direspon oleh server sesuai dengan niat “eksploitasi” kita, saat itu-lah bisa dikatakan “eh vulnerable nih” gitu :v

Pada kasus ini saya sedang mencoba melakukan pemesanan booking room di salah satu aplikasi mobile sebut saja borotel (booking room hotel) wkwk.

Affected Endpoint

  • https://[redacted]/api/transaction/hotel

Steps to Reproduce

  • Pertama saya login menggunakan akun saya.
  • Setelah login dan pilih kamar yang di inginkan, sebagai contoh disini saya coba pilih kamar dengan harga 155.000 IDR.
Pilih kamar
  • Pilih kamar lalu intercept request dan disini terlihat terdapat parameter amount yang mana akan menjadi target manipulasi.
Intercept request
  • Ubah value pada bagian parameter amount lalu kirim request.
Edit request bagian amount
  • Dilihat dari hasil response bahwa request kita berhasil terkirim tanpa adanya pengecekan validasi yang valid dari sisi server.
Hasil response
  • Hasil response bila dilihat dari sisi aplikasi akan seperti berikut, maka langkah selanjutnya kita tinggal membayar sesuai harga yang sudah kita ubah.
Harga berhasil dirubah

Miscellaneous

Sialnya pada sistem di aplikasi ini masih tergolong semi-otomatis karena begitu sudah selesai melakukan pembayaran dari nomor rekening yang tertera, saya perlu melakukan konfirmasi kepada pihak admin. Yang mana tentu ini akan menjadi bumerang kalau niat jahat antum berhasil diendus oleh admin, dimana harga yang dibayarkan hanya 5.000 IDR sedangkan harga sebenarnya adalah 155.000 IDR wkwk (bisa aja sih kalau ngurangin harga nya tipis-tipis plus social engineering yee kan? tapi masa iya mau nakal nanti diciduk loh!).

4 comments

Cyber Security Enthusiast