API Endpoint Missing Rate Limiting & Unrestricted Resource Allocation
API Endpoint Missing Rate Limiting & Unlimited Resource Allocation
Ringkasan
Kerentanan ini terjadi ketika sebuah API tidak memiliki pembatasan jumlah request (rate limiting) atau kontrol penggunaan resource. Akibatnya, penyerang dapat mengirim permintaan dalam jumlah besar tanpa batas, menghabiskan resource server, menurunkan performa sistem, atau bahkan menyebabkan Denial of Service (DoS).
Deskripsi
-
Missing Rate Limiting: API menerima request tanpa ada limit per user/IP/token.
-
Unlimited Resource Allocation: API mengizinkan payload besar atau query kompleks tanpa pembatasan.
Hal ini memungkinkan penyerang:
-
Melakukan API Flooding (spam request).
-
Menarik data secara masif tanpa batas (data scraping).
-
Menghabiskan CPU/memori server sehingga aplikasi menjadi lambat atau down.
Dampak Bisnis
-
Downtime / DoS → pengguna sah tidak bisa mengakses layanan.
-
Biaya Infrastruktur Naik → karena server harus menangani request berlebihan.
-
Penyalahgunaan Data → data internal bisa diambil secara masif.
-
Reputasi Buruk → pengalaman pengguna terganggu.
Langkah Reproduksi
-
Intersep request API menggunakan Burp Suite, Postman, atau cURL.
-
Ulangi request tersebut berkali-kali (contoh: 1000 request per menit).
-
Amati bahwa server tetap merespon normal, tidak ada HTTP 429 (Too Many Requests) atau mekanisme throttling.
-
Teruskan hingga terlihat tanda performa menurun atau server overload.
Contoh PoC menggunakan curl:
for i in {1..500}; do
curl -X POST -H "Content-Type: application/json" -d "1" https://target.com/api/endpoint &
done
wait
Rekomendasi
-
Implementasi rate limiting (misalnya 100 request/menit per IP atau token).
-
Terapkan request throttling dan quota per user.
-
Validasi dan batasi ukuran payload serta jumlah data yang dapat diminta.
-
Monitoring anomali trafik dan blokir pola request yang mencurigakan.
-
Return HTTP 429 Too Many Requests jika limit terlampaui.
Referensi
Komentar
Posting Komentar