Cara Hacker Mencuri Cookie Admin dengan Serangan Stored XSS: Studi Kasus dan Pencegahannya


Dalam artikel ini, kita akan membahas bagaimana seorang hacker bisa mencuri cookie admin menggunakan serangan yang disebut Stored Cross-Site Scripting (XSS). Kita juga akan mendemonstrasikan langkah-langkah serangan ini dengan studi kasus aplikasi blogging sederhana yang dibuat menggunakan Laravel, serta membahas cara-cara untuk mencegah serangan ini.

Apa Itu Cross-Site Scripting (XSS)?

Cross-Site Scripting atau XSS adalah salah satu jenis serangan di mana hacker menyisipkan kode berbahaya ke dalam halaman web yang bisa diakses oleh pengguna lain. Serangan XSS ini biasanya digunakan untuk mencuri cookie pengguna, yang kemudian bisa digunakan oleh hacker untuk login sebagai pengguna tersebut tanpa perlu mengetahui kata sandinya.

Ada beberapa jenis XSS, tetapi dalam kasus ini kita akan fokus pada Stored XSS, yaitu ketika skrip berbahaya disimpan di server dan kemudian dijalankan ketika halaman diakses oleh pengguna lain, termasuk admin.

Studi Kasus: Aplikasi Blogging

Dalam demonstrasi ini, kita akan menggunakan aplikasi blogging yang dibuat menggunakan Laravel. Ada dua pengguna utama dalam kasus ini:

  1. Malvin: Seorang pengguna biasa yang berperan sebagai attacker (penyerang).
  2. Beyoncé: Pengguna dengan hak akses admin yang memiliki halaman khusus untuk mengelola data blog.

Tujuan Malvin sebagai penyerang adalah mencuri cookie milik Beyoncé agar bisa mengakses halaman yang hanya bisa diakses oleh admin.

Langkah 1: Menyiapkan Serangan dengan XSS Hunter

Untuk mempermudah proses pencurian cookie, kita akan menggunakan layanan gratis bernama XSS Hunter. Layanan ini membantu memantau dan memberikan notifikasi ketika ada serangan XSS yang berhasil. XSS Hunter menyediakan payload XSS yang dapat langsung digunakan.

Langkah 2: Menyisipkan Payload XSS

Malvin, sebagai penyerang, membuat sebuah post baru di aplikasi blog dengan menyisipkan payload XSS yang diberikan oleh XSS Hunter ke dalam title blog. Saat admin membuka halaman tersebut, payload ini akan dieksekusi, dan cookie admin akan terkirim ke XSS Hunter.

Langkah 3: Mengakses Halaman Admin dengan Cookie yang Dicuri

Setelah serangan berhasil dan cookie admin dikirim ke XSS Hunter, penyerang dapat menyalin cookie tersebut. Dengan menggunakan alat seperti Burp Suite, penyerang bisa mengganti cookie milik pengguna biasa dengan cookie milik admin, sehingga dia bisa mengakses halaman yang hanya diperuntukkan bagi admin.

Dalam demonstrasi, status akses yang awalnya 403 Forbidden berubah menjadi 200 OK setelah menggunakan cookie admin yang dicuri. Ini menandakan bahwa penyerang berhasil login sebagai admin dan dapat mengakses halaman yang sebenarnya hanya bisa diakses oleh Beyoncé.

Pencegahan Serangan XSS di Laravel

Untuk mencegah serangan XSS ini, ada beberapa langkah yang bisa diambil, khususnya dalam konfigurasi Laravel.

1. Mengaktifkan http_only Cookie

Salah satu langkah penting untuk mencegah pencurian cookie adalah dengan mengaktifkan pengaturan http_only pada cookie Laravel. Ini bisa dilakukan melalui file konfigurasi session.php di folder config Laravel.

'http_only' => true,

Dengan mengatur nilai ini menjadi true, cookie seperti laravel_session hanya bisa diakses melalui protokol HTTP dan tidak bisa diakses oleh JavaScript. Hal ini membuat cookie tidak bisa dicuri melalui serangan XSS, meskipun payload XSS berhasil dieksekusi.

2. Menyaring Input Pengguna

Selain itu, penting juga untuk selalu menyaring input dari pengguna. Laravel memiliki fitur otomatis untuk mencegah serangan XSS dengan meng-escape data yang ditampilkan di halaman web. Pastikan bahwa input yang diterima dari pengguna tidak langsung ditampilkan di halaman tanpa difilter.

3. Menggunakan CSP (Content Security Policy)

Menambahkan Content Security Policy (CSP) ke dalam aplikasi web juga bisa membantu mencegah serangan XSS. CSP membatasi sumber daya yang dapat dijalankan oleh halaman web, seperti skrip dan gambar, sehingga mengurangi risiko eksekusi kode berbahaya.

Kesimpulan

Serangan Stored XSS adalah salah satu metode yang sering digunakan oleh hacker untuk mencuri cookie dan mengambil alih akun pengguna, termasuk akun admin. Melalui demonstrasi ini, kita bisa melihat bagaimana serangan ini dilakukan dan bagaimana cara hacker memanfaatkan kelemahan dalam aplikasi untuk mencuri cookie.

Namun, dengan mengikuti langkah-langkah pencegahan seperti mengaktifkan http_only pada cookie, menyaring input pengguna, dan menggunakan Content Security Policy, kita bisa meminimalkan risiko serangan XSS dan melindungi aplikasi dari pencurian cookie.

Pentingnya Menggunakan VPS Aman

Dalam studi kasus ini, aplikasi Laravel dijalankan di server VPS. Pastikan VPS yang digunakan juga aman, dengan melakukan konfigurasi keamanan yang tepat seperti menggunakan firewall, SSL, dan menjaga sistem operasi serta perangkat lunak tetap terupdate.

Have any Question or Comment?

Leave a Reply