Cyber Security Enthusiast

Merubah Nama Akun User Lain dan Status Melalui IDOR

M

Description

Postingan ini memiliki sedikit kesamaan dengan post saya sebelumnya di halaman https://allen.gerysena.com/mengintip-saldo-customer-lain-melalui-idor/ hanya saja pada pembahasan kali ini akan berbeda kasusnya dan saya bisa melakukan perubahan data pada akun target.

IDOR merupakan kepanjangan dari Bug Insecure Direct Object Reference yang mana efek nya akan membuat kita dapat mengakses objek/data lain tanpa harus melakukan otorisasi tertentu (sumber). Berikut penjelasannya:

  • Sebagai contoh disini misalnya kita sedang mengakses halaman edit profile milik kita sendri seperti www.contoh.com/edit.php?id_user=budi.
  • Nah, apabila website tersebut vulnerable terhadap celah IDOR maka pada bagian id_user=budi jika kita ganti menjadi id_user=eko maka akan menampilkan halaman edit profile milik user eko.

Affected Endpoint

  • https://[redacted]/api-server/profile/edit

Steps to Reproduce

  • Pertama saya login menggunakan akun saya.
  • Setelah login lalu ke bagian profile dan merubah nama akun, saya coba lakukan intercept, terlihat bahwa request yang dikirim adalah user_id dan name.
Request edit nama akun
  • Dengan memanfaatkan user_id saya yaitu 2352250 disini saya coba mengganti value nya menjadi milik user lain, tentu saja karena value nya bertipe nomor maka tinggal tebak-tebak saja, misalnya ***593 milik akun bernama Inspirasi yang memiliki jumlah followers sebanyak 189.4K.
Target akun yang namanya akan di edit
  • Oke kembali lagi pada reqeust sebelumnya, saya akan coba kirim melalui repeater dengan tetap menggunakan otorisasi akun milik saya (token JWT).
Request rubah nama berhasil dilakukan
  • Selanjutnya coba buka profile akun target menggunakan aplikasi.
Nama akun target telah berubah
  • Broken access control ini tidak hanya terjadi pada bagian ubah nama akun saja tetapi juga terjadi pada perubahan jenis kelamin, tanggal lahir, status bio, dan kota.
Beberapa hal yang bisa dirubah terhadap akun user lain kecuali avatar

Miscellaneous

Setelah testing disalah satu akun berhasil dilakukan, tak lupa sebagai orang b4Ik saya mengembalikan hal-hal yang sudah saya ubah pada akun target.

Ada hal lain sebenarnya yang bisa dikembangkan mengenai celah ini yaitu saya bisa melakukan cek informasi pada profile akun lain (Sensitive Information Disclosure). Dengan bantuan intruder dan token jwt milik saya, saya berhasil melakukan request sebanyak jumlah user yang terdaftar saat ini yaitu hampir sekitar 2,5 juta user yang terdaftar pada tanggal 11 maret 2020.

Contoh request informasi profile akun milik saya

Beberapa hal yang didapat pada hasil respon json tersebut adalah:

Sampai sini tentu akan sangat membantu apabila attacker ingin iseng di akun user lain dengan melakukan sorting terhadap akun yang memiliki jumlah follower paling banyak, sehingga misal attacker promosi akun instagramnya di akun user yang memiliki follower terbanyak (yakali) but don’t do that itu bego nanti wiu wiu 🙂 #jangannakaltetapsantuy #orangpintarminumtiappagi #bugbounty #gaadaduitnya #fak

Add comment

Cyber Security Enthusiast