API Testing
API (Application Programming Interfaces) memungkinkan sistem perangkat lunak dan aplikasi untuk berkomunikasi dan berbagi data.
API Testing penting dilakukan karena kerentanan dalam API dapat merusak aspek inti confidentiality, integrity dan availability.
Semua stis web dinamis tersusun dari API, sehingga kerentanan web klasik seperti SQL injection dapat digolongkan sebagai pengujian API. Pada topik ini, akan dibahas cara menguji API yang tidak sepenuhnya digunakan oleh front-end aplikasi, dengan fokus pada API RESTful dan JSON.
Mencegah kerentanan pada API?
Saat merancang API, pastikan bahwa keamanan menjadi pertimbangan awal. Secara khusus, pastikan:
Amankan dokumentasi API jika tidak ingin API dapat diakses publik
Pastikan dokumentasi selalu update sehingga penguji yang legal memiliki visibilitas penuh terhadap attack surface API
Terapkan whitelist method HTTP yang diizinkan
Validasi bahwa jenis konten diharapkan untuk setiap request dan response
Gunakan error message yang umum untuk menghindari memberikan informasi yang mungkin berguna bagi penyerang
Gunakan tindakan pada semua versi API, bukan hanya versi production
Untuk mencegah kerentanan mass assignment, masukkan properti yang dapat diperbarui oleh pengguna ke dalam whitelist dan masukan propersi sensitif yang tidak boleh diperbarui oleh pengguna ke dalam blacklist.
Last updated