Hallo semuanya selamat datang pada artikel pertama saya di blog pribadi saya. Pada kesempatan kali ini izinkan saya untuk membagikan sebuah artikel temuan bug pada sebuah platform pembelajaran online tentang teknologi yang populer di Indonesia yaitu dicoding.
Sebelum saya masuk ke pembahasan, saya akan memberikan sedikit cerita sebelum saya mendapatkan bug ini. Jadi, beberapa bulan sebelum saya mendapatkan bug pada dicoding, saya mengikuti program kampus merdeka yaitu MSIB (magang & studi independent bersertifikat) suatu program pemerintah yang bertujuan untuk para mahasiswa belajar / mencari pengalaman di luar kampus dan mendapatkan full konversi SKS (tidak melakukan kuliah tapi mendapatkan nilai). Dan saya diterima mitra dicoding sebagai tempat belajar saya studi independent selama 1 semester. Singkat cerita saya lulus dari program tersebut selama 1 semester lama-nya dan mendapatkan 1000 point dicoding sebagai hadiah kelulusan. Dan kita akan mulai ke pembahasan-nya.
Apa itu Race Conditon?
Sebuah situasi di mana beberapa proses yang berjalan bersamaan saling berkompetisi untuk mengakses dan memanipulasi data yang sama.
Dampak Kerentanan
Proof Of Concept!
- Burp Suite
- Turbo Intruder (Burp Suite Extension)
- Pertama Login ke akun dicoding melalui link ini https://www.dicoding.com/login.
- Pergi ke dashboard tukar point (https://www.dicoding.com/rewards/966).
- Capture request dengan intercept pada Burp Suite kemudian send to turbo intruder.
- Pilih examples/race.py untuk menggunakan script race condition tersebut.
- Klik Attack dan dapat dilihat penyerang dapat melakukan request secara bersamaan yaitu 3 request dalam waktu yang sama, dampak nya yaitu hanya dengan menggunakan 300 point tetapi pesanan yang terkonfirmasi ada 3.
Timeline
- Report: 14 February 2023
- Triage: 22 February 2023
- Fix: Resolved
- Rewards: Undisclosed