Pengertian Session Hijacking: Cara Kerja & Pencegahan

Session hijacking (pembajakan sesi) adalah teknik serangan siber di mana pelaku mendapatkan akses ilegal ke token sesi atau ID sesi pengguna yang sah untuk menyamar sebagai korban di dalam sebuah aplikasi web. Ketika sesi berhasil dibajak, penyerang dapat mengakses akun korban tanpa harus mengetahui kata sandi (password) asli mereka, karena sistem menganggap permintaan tersebut berasal dari pemilik sah yang telah melakukan otentikasi.

Dalam arsitektur web modern, protokol HTTP bersifat stateless, yang berarti server tidak mengingat status koneksi dari permintaan sebelumnya. Untuk mengatasi hal ini, aplikasi menggunakan mekanisme pengelolaan sesi berbasis cookie atau token (seperti JSON Web Token / JWT) setelah pengguna berhasil login. Token inilah yang menjadi target utama dalam serangan pembajakan sesi.

Mekanisme & Cara Kerja Session Hijacking

Serangan pembajakan sesi umumnya berfokus pada cara penyerang memperoleh, mencuri, atau memprediksi ID sesi yang aktif. Berikut adalah metode utama yang sering digunakan dalam celah keamanan aplikasi web:

  • Session Sniffing: Penyerang menggunakan alat penyadap jaringan (packet analyzer) seperti Wireshark untuk menangkap lalu lintas data yang tidak terenkripsi (HTTP biasa tanpa SSL/TLS) antara browser korban dan server web.
  • Cross-Site Scripting (XSS): Penyerang menyuntikkan skrip berbahaya (biasanya JavaScript) ke dalam halaman web yang rentan untuk membaca nilai document.cookie dan mengirimkannya ke server eksternal milik penyerang.
  • Session Fixation: Penyerang memaksa korban menggunakan ID sesi yang sudah ditentukan sebelumnya oleh penyerang. Setelah korban login dengan ID tersebut, penyerang dapat langsung masuk menggunakan ID sesi yang sama.
  • Man-in-the-Middle (MitM): Penyerang memposisikan diri di tengah jalur komunikasi antara korban dan server, memungkinkan mereka mencegat atau memodifikasi token sesi secara langsung.

Matriks Perbandingan Metode Serangan Sesi

Metode Serangan Vektor Utama Tingkat Risiko Mitigasi Utama
Session Sniffing Jaringan tidak aman (HTTP) Tinggi Wajib menggunakan HTTPS secara penuh
Cross-Site Scripting (XSS) Input tidak disanitasi di browser Kritis Implementasi flag HttpOnly pada Cookie & sanitasi input
Session Fixation Celah logika manajemen sesi Sedang Regenerasi ID sesi otomatis saat proses login berhasil
Man-in-the-Middle (MitM) Penyadapan jalur komunikasi Tinggi HSTS (HTTP Strict Transport Security) & Certificate Pinning

Langkah Teknis Pencegahan & Mitigasi

Pengembang aplikasi web dan administrator sistem harus menerapkan standar keamanan berlapis untuk meminimalkan risiko pembajakan sesi:

  1. Gunakan HTTPS Secara Menyeluruh: Enkripsi semua lalu lintas data antara klien dan server untuk mencegah penyadapan paket jaringan (sniffing).
  2. Terapkan Flag HttpOnly dan Secure pada Cookie: Flag HttpOnly mencegah skrip sisi klien (seperti JavaScript) mengakses cookie, sementara flag Secure memastikan cookie hanya dikirim melalui jalur HTTPS.
  3. Regenerasi ID Sesi: Selalu buat ID sesi baru (session fixation defense) setiap kali pengguna melakukan proses otentikasi (login) atau mengubah hak istimewa akun.
  4. Batasi Masa Berlaku Sesi (Session Timeout): Terapkan batas waktu kedaluwarsa sesi secara otomatis setelah periode tidak aktif tertentu atau batasan absolut durasi login.