No Rate Limit on login
Selanjutnya terdapat kerentanan no rate limit pada halaman login. Kerentanan ini terjadi ketika aplikasi tidak membatasi jumlah upaya login yang gagal dari satu pengguna atau alamat IP dalam jangka waktu tertentu. Hal ini memungkinkan penyerang untuk mencoba kombinasi kata sandi tanpa batas hingga berhasil. Dampak dari serangan ini yaitu penyerang dapat dengan mudah masuk ke akun pengguna setelah berhasil menebak kata sandi. Dan jika penyerang mengirimkan terlalu banyak permintaan dalam waktu singkat, server bisa kewalahan dan menyebabkan layanan menjadi lambat atau tidak dapat diakses bagi pengguna lain.
Untuk membuktikan kerentanan no rate limit tersebut, dapat menggunakan cara berikut ini. Tangkap request pada endpoint login lalu kirimkan ke burp suite repeater. Pada repeater akses tab ekstension Hackvertor . Jika belum tersedia, install terlebih dahulu extension tersebut. Jika sudah, nantinya akan terlihat seperti gambar dibawah ini.

Sebelum itu lihat request data sebelum dilakukan enkripsi dari hasil proses script frida yang berjalan sebelumnya.

Ambil format data request JSON tersebut dan simpan pada request yang sebelumnya telah dikirimkan ke burp repeater. Jika sudah, pada hackvector tambahkan algoritma untuk melakukan encode/encryptnya yaitu XOR (dengan secret key “amazing”) serta base64 encode. Jika sudah akan terlihat seperti gambar dibawah ini.


Selanjutnya kirim request tersebut ke burp intruder dan lakukan pembuatan payload untuk melakukan brute force login untuk menguji rate limiting pada fitur login aplikasi target.

Jika sudah nantinya akan terlihat seperti gambar diatas. Langkah selanjutnya adalah menjalankan serangan. Dan terlihat tidak adanya batasan request (rate limiting) pada fitur login aplikasi target. Membuat aplikasi tersebut rentan terhadap serangan brute force. Tidak adanya rate limit ini dibuktikan dengan cara mengirim request secara terus menerus hingga mendapatkan kombinasi credentials yang valid. Disini sebagai contoh, mengirimkan 100++ request dan dimana request yang ke 101 berhasil menemukan kombinasi kredensial yang valid sehingga berhasil melakukan login.

Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated