[BUG BOUNTY] get max impact, IDOR Leads to Account Takeover

Hello hunter,
On this article i will share experience bagaimana saya menemukan kasus unik bug IDOR pada saat bug hunting beberapa waktu lalu.

Singkat cerita awal nya senang banget bisa nemu IDOR pada situs yang pernah saya laporkan sebelum nya dan mendapatkan reward, namun dipikir lagi impact nya paling mentok cuma menampilkan email. Sebelum saya lakukan untuk report dengan judul IDOR saya memutuskan untuk hunting lagi sampai mendapatkan Severity Level yang maksimal katakanlah critical / high (IDOR Leads to Account Takeover), untuk step lengkap nya bisa kalian pahami di bawah ini.

Sebelum ke Step jadi di website tersebut kalau ingin melakukan reset password flow nya akan seperti ini :

Kemudian karena ada bug seperti yang disebutkan di atas maka flow nya menjadi seperti di bawah ini:

  1. Pertama saya siapkan 2 akun, attacker dan victim.
  2. Kemudian saya login masing-masing akun untuk mendapatkan id masing-masing user ( menyinkat waktu, yang mana real case nya attacker dapat melakukan range id pure tanpa interaksi user)
  3. Katakanlah 490002 milik attacker, 400006 milik victim
  4. Setalah saya login (seolah sebagai attacker) saya meneliti tiap request pada burpsuite sampai akhirnya menemukan endpoint api redacted.tld/api/users/490002 dengan respon seperti berikut :bug bounty
  5. Kurang lebih struktur respon json nya seperti ini :
  6. Kemudian id nya saya ganti ke id victim (400006) dan menampilkan respon dengan mengembalikan info account dari victim

    Bagaimana sudah lumayan jelas alur nya? biasanya kalian berifikir gada yang aneh dan critical kan di dalam nya? cuma tau email gimana mau dimanfaatkan selain email flooding ( iya kalo ada bug no rate limit/bug lain yang bisa dichain ), kalian juga pasti berfikir nyari IDOR di endpoint lain seperti fitur change profile akun dengan memanfaatkan ID yang ada, namun jika stuck tidak ada yang dapat dichain lagi pasti kalian akan report langsung dengan bug seperti itu ( saya saja hampir melakukan nya ).
  7. Lalu saya cobain lagi semua fitur-fitur dalam website nya dan sesekali melihat ulang respon dari endpoint api di atas ( dengan akun attacker ) sampai dimana saat dalam fitur reset password respon pada api tersebut berbeda ataupun ada perubahan, yaitu menjadi ada key “token”, coba lihat gambar berikut :
  8. Dan token tersebut sama seperti token pada email attacker
  9. Tanpa berfikir panjang saya lakukan hal yang sama juga pada akun victim dengan memanfaatkan bug IDOR tadi, saya sudah tahu email nya langsung melakukan reset password dan ketika mengakses endpoint api tersebut dengan ID victim maka akan menampilkan juga token untuk reset password pada account victim.
  10. Done account take over

 

Bug reported, waiting for reward

Image by storyset

Thanks for read this article, Have a good day!

Total
1
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

[BUG BOUNTY] Unrestricted File Upload Vulnerability

Next Post

Membongkar Modus Serangan Malware yang Mengaku sebagai Kurir Ekspedisi

Related Posts