Bagaskara Adam Trengginas
Open Web Application Security Project® (OWASP) adalah nonprofit foundation yang bekerja untuk meningkatkan keamanan perangkat lunak. SIAKAD adalah aplikasi berbasis web dan mobile yang dirancang untuk menangani proses pengeloaan data akademik dan data terkait lainnya,
Pada kali ini saya akan mengaudit pada bagian session management dengan framework owasp pada project siakad disini saya memakain 3 poin pada guide OWASP yang sudah disediakan berikut adalah poin dan penjelasan serta hasilnya :
Session Management Testing | Test Name | Objectives |
WSTG-SESS-01 | Testing for Session Management Schema |
|
WSTG-SESS-06 | Testing for Logout Functionality |
|
WSTG-SESS-07 | Testing Session Timeout |
|
1. Testing for Session Management Schema
Penjelasan
Session Management Schema adalah dimana penguji ingin memeriksa apakah cookie dan token sesi lainnya dibuat dengan cara yang aman bila diganti dengan cookie token lainnya yang tidak memiliki sesi.
Hasil Analisis
Pada kali ini penguji menggunakan akun yang sudah didaftarkan pada akun siakad setelah berhasil login akan mendapatkan token, lalu penguji decode token yang didapat pada informasi token setelah terdecode penguji mengubah id menjadi id user 2 lalu menencode kembali token tersebut selanjutnya penguji mengubah session token tadi yang sudah di decode lalu hit salah satu API untuk testing jwt token yang sudah di decode, maka akan muncul msg eror sebagai berikut :
Kesimpulan
Dari hasil analisis dapat disimpulkan bahwa jika isi JWT Token kita ubah maka kita tidak bisa mengakses SIAKAD karena cookie token berbeda sesi artinya tidak dapat di manipulasi
2. Testing for Logout Functionality
Penjelasan
Logout Functionality adalah fungsi logout dimana cookie pada halaman yang diakses maka sesinya akan diakhiri dan tidak bisa diakses kembali
Hasil Analisis
Pada kali ini penguji menggunakan akun yang sudah didaftarkan pada akun siakad setelah berhasil login akan mendapatkan token lalu kita klik pada menu logout maka cookie akan hilang lalu kita coba hit salah satu API, maka akan otomatis dikembalikan ke halaman login
Kesimpulan
Dari Hasil analisis dapat disimpulkan bahwa fungsi logout berhasil
3. Testing Session Timeout
Penjelasan
Session Timeout adalah Manajemen batas waktu sesi token kedaluwarsa, misalnya menggunakan nilai cookie atau parameter klien lainnya untuk melacak referensi waktu (misalnya jumlah menit sejak waktu masuk), setelah batas waktu habis, secara otomatis membatalkan sesi pengguna saat ini dan menghapus setiap data yang disimpan di klien.
Hasil Analisis
Pada kali ini penguji menggunakan akun yang sudah didaftarkan pada akun siakad setelah berhasil login maka akan mendapatkan token lalu penguji mendecode isi token tersebut dan mengganti tanggal expired token yang sudah ada lalu penguji hit salah satu API untuk testing jwt token yang sudah expired maka akan tampil msg eror berikut :
Kesimpulan
Dari hasil analisis diatas dapat disimpulkan bahwa token yang sudah expired tidak akan bisa diggunakan kembali