Stealing user data, Tokopedia bug bounty
--
Hai ,
Suatu hari ketika sedang bosan bermain game, saya memutuskan untuk mencari vulnerability pada tokopedia .
Mulai berburu bug pada domain utama Tokopedia.com , tapi sayangnya saya tidak menemukannya :( ,Jadi saya mencoba mencari pada domain lain , tujuan saya adalah domain mobile (m.tokopedia.com) . 😃
Berapa jam berburu akhirnya saya menemukan sesuatu yang menarik perhatian saya , Yapss. “GraphQL”
Saya menemukan endpoint graphql pada m.tokopedia.com , dibeberapa tempat endpoint tersebut digunakan untuk melihat,ubah atau hapus data profile account dll.
Mencoba mengakses data pengguna lain dengan mengganti beberapa parameter dan berharap mendapatkan IDOR vulnerability, tetapi itu semua tidak work. lol
Disaat yang sama, saya mengecek http header yang akan di kirim kan . Pada bagian “Origin” berisi https://m.tokopedia.com , dan pada bagian respon header saya menemukan “Access-Control-Allow-Origin” dengan value sama seperti origin ketika request yaitu https://m.tokopedia.com .
Mencoba mengganti value dari origin dengan domain lain dan ternyata work 😂 😂
Access-Control-Allow-Origin pada respon menampilkan value yang sama dengan origin, Waaw !
Access-Control-Allow-Origin adalah respon header yang yang memungkin kan user untuk melihat data respon dengan domain yang diizinkan (Source: OWASP) , di tokopedia tidak ada pengecekan . maka yang berasal dari origin (manapun) dapat mengakses.
Ini memungkinkan attacker mendapatkan data sensitif dari luar domain tokopedia itu sendiri ,dalam hal ini saya menggunakan localhost ,hsnya untuk contoh saja.
Untuk memastikannya lalu saya membuat tools sederhana untuk mengambil data tersebut. Data yang akan saya ambil adalah name,email,phone number dll.
Untuk melihat tools bisa disini > https://pastebin.com/raw/YsHaezbf .
Sukses mendapatkan data semua data sesuai http respon dari tokopedia, 😂
dan untuk melihat hasil nya adalah pada file loguser.txt , yang saya simpan hanya beberapa data saja .
Dengan begitu korban yang mengunjungi malicious page yang telah di sisipi code secara tidak sadar akan tersimpan data nya. (jika dalam keadaan login di tokopedia .)
wuhh , setelah berhasil membuat konsep attack lalu saya melaporkan vulnerability ini ke tokopedia , it’s time to get the bounty. lol 😁
Timeline
- 11 Jan 2018 : Saya melaporkan ke Tokopedia
- 11 Jan 2018 : Tokopedia memverifikasi
- 29 Jan 2018 : Bug diperbaiki
- 29 Jan 2018 : Tokopedia meminta data untuk reward
- 29 Jan 2018 : Saya memberikan data diri
- 14 Feb 2018 : Reward dikirim 😙