Materi
OWASP Web Security Testing Guide (WSTG) menguji autentikasi dan sesi dengan mengamati perilaku aplikasi, bukan merakit serangan. Tiga hal yang sering bermasalah. Pertama, mekanisme penguncian: WSTG menyebut akun umumnya dikunci setelah 3–5 percobaan gagal untuk meredam tebakan kata sandi beruntun; bila percobaan gagal bisa berkali-kali tanpa penguncian, mekanismenya lemah. Kedua, kredensial harus dikirim lewat kanal terenkripsi (HTTPS); bila formulir masuk terkirim lewat HTTP biasa, kredensial bisa terbaca di jaringan.
Ketiga, atribut cookie sesi. WSTG dan MDN menjelaskan atribut Set-Cookie: Secure (cookie hanya dikirim lewat HTTPS), HttpOnly (cookie tak bisa dibaca skrip sisi klien, meredam pencurian sesi lewat skrip), dan SameSite (membatasi pengiriman cookie pada permintaan lintas situs). Cookie sesi tanpa Secure atau HttpOnly adalah temuan. Terkait sesi, fiksasi sesi (session fixation) terjadi bila nilai cookie sesi TIDAK diperbarui setelah pengguna berhasil masuk — penyerang yang menanam nilai sesi sebelum korban masuk bisa memakai sesi yang sama sesudahnya. Perbaikannya: perbarui pengenal sesi tepat setelah autentikasi. Contoh header respons yang diperiksa (fiktif):
Set-Cookie: SESIID=a1b2c3; Path=/; Secure; HttpOnly; SameSite=Lax