TL;DR

hari itu saat saya sedang mencari lowongan pekerjaan di sebuah website portal kerja, lalu saat saya melihat adanya fitur pembelian materi berupa video saya coba melakukan checkout dan mereka menyediakan invoice untuk bukti pembayarannya, lalu saya tertuju pada fitur download invoice yang tersedia disana dan melihat file_namenya bukan penamaan yang unik atau acak. file name invoicenya seperti ini ████-202603000001 > ████-202603000002 lalu saya terpikir untuk mencoba serangan idor dengan mengganti angka ujung file_name saya menjadi milik orang lain, dan ternyata saya berhasil mengunduh invoice pengguna lain.

Gambaran Kerentanan

None

Kerentanan terjadi karena server tidak memvalidasi kepemilikan objek. Sistem menggunakan pola penamaan file sekuensial yang sangat mudah ditebak. Tanpa pengecekan otorisasi yang benar, siapa pun yang memiliki akun bisa mengunduh invoice milik orang lain hanya dengan mengganti angka di ujung URL.

Langkah Reproduksi

  1. Intercept: Saat mengunduh invoice materi sendiri, tangkap request: GET /rest/open/invoice/download/[Filename].
  2. Analisis & Manipulasi: Kirim request ke Repeater. Ubah angka di bagian akhir filename milik saya menjadi angka selanjutnya (misal: ...0011 menjadi ...0012).
  3. Eksploitasi: Gunakan fitur Request in Browser. Hasilnya File invoice milik pengguna lain berhasil diunduh secara penuh tanpa hambatan.

Dampak

  • Severity: High (8.6).
  • Kebocoran Data: Mengekspos informasi sensitif (PII) seperti nama lengkap, detail transaksi, dan riwayat pembayaran. Karena polanya berurutan.

Kesimpulan

Mitigasi paling efektif adalah memastikan server memvalidasi kepemilikan objek berdasarkan sesi pengguna yang aktif, atau menggunakan identitas unik (UUID) agar tidak mudah ditebak.

Catatan Penutup

saya sudah melaporkan hal ini pada tanggal 24 maret 2026 dan kurang dari seminggu setelah pelaporan celah ini telah diperbaiki secara diam-diam (silent fix). Menarik melihat sebuah perusahaan bisa bergerak sangat cepat memperbaiki sistem setelah menerima laporan, namun mendadak "kehilangan" kemampuan untuk membalas email atau sekadar mengucapkan terima kasih. Setidaknya, ini jadi tambahan yang bagus untuk portofolio saya — meskipun balasan email mereka tetap menjadi misteri.

None