Insecure Direct Object Reference (IDOR) in GraphQL API which has an impact on Takeover Vouchers that have been used can still be reused

  1. Kurangnya authentikasi GraphQL di perilaku diatas dapat menghapus kode voucher yang telah digunakan sebelumnya tanpa diperiksanya PesananId & PesananHash pada saat kode voucher diinput.
  2. Jika di kesimpulan no.1 diatas bukanlah kesimpulan untuk solusi yang tepat, bahwa kode voucher yang telah digunakan sebelumnya dapat dihapus atau diambilalih tanpa diperiksanya PesananId & PesananHash dimana kode voucher yang telah digunakan sebelumnya diinput, maka seharusnya itu tidak diizinkan atau seharusnya kode voucher yang telah digunakan dihapus dari sistem secara otomatis.
  3. Jika Api GraphQL hanya memeriksa sebuah pesanan yang telah diinput kode voucher yang valid, lalu attacker melakukan request delete voucher, maka ketika attacker request delete kode voucher yang telah digunakan, lalu itu akan berhasil :) Kenapa itu terjadi? Karena menurut asumsi saya, Api GraphQL diperilaku diatas hanya memeriksa apakah kode voucher dipesanan tersebut diinput atau tidak, lalu jika kode voucher diinput, GraphQL akan menghapus kode voucher yang diminta oleh request attacker, baik itu kode yang masih valid dan bahkan hingga kode voucher yang sudah digunakan sebelumnya atau tidak valid lagi :)

--

--

Keep to secure the internet

Love podcasts or audiobooks? Learn on the go with our new app.

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