Pendahuluan

Di zaman sekarang, hampir semua aktivitas dilakukan melalui internet—baik itu belanja, chatting, mengelola keuangan, hingga mengakses layanan pemerintahan. Namun, di balik kemudahan ini, ada banyak ancaman siber yang mengintai. Salah satu yang sering tidak disadari oleh pengguna maupun developer adalah Cross-Site Request Forgery, atau yang disingkat CSRF.

Artikel ini akan membahas apa itu CSRF, bagaimana cara kerjanya, dampaknya, dan bagaimana cara melindungi diri dari serangan ini dengan bahasa yang sederhana dan mudah dipahami.

Apa Itu CSRF?

CSRF adalah jenis serangan di mana penyerang mengecoh pengguna agar secara tidak sadar melakukan suatu tindakan di situs web tempat mereka sudah login.

➤ Contoh sederhananya:

Bayangkan kamu sedang login ke akun bank, lalu di saat yang sama, kamu membuka situs lain yang tidak aman. Ternyata, situs itu diam-diam mengirimkan perintah ke akun bank kamu untuk mentransfer uang ke rekening penyerang—dan kamu sama sekali tidak tahu hal itu terjadi.

CSRF sering dianggap mirip dengan serangan XSS (Cross-Site Scripting), tetapi ada perbedaan penting:

XSS mencuri data dari pengguna.

CSRF menyalahgunakan status login pengguna untuk melakukan tindakan tanpa izin.

Bagaimana CSRF Bekerja?

Agar CSRF berhasil, korban harus dalam keadaan login ke situs target, misalnya situs e-commerce, perbankan, atau media sosial.

🔁 Alur Serangan CSRF:

1. Korban login ke situs yang sah, misalnya bank.com.

2. Penyerang membuat situs palsu yang terlihat biasa saja.

3. Korban mengunjungi situs palsu tersebut.

4. Situs palsu mengirimkan permintaan otomatis ke bank.com untuk melakukan aksi (misalnya transfer uang).

5. Karena korban masih login, sistem bank.com mengira permintaan itu sah, dan menjalankannya.

💣 Contoh kode di situs jahat:

<img src=”https://bank.com/transfer?to=attacker&amount=1000″>

Dampak dari Serangan CSRF

CSRF bisa sangat berbahaya, terutama jika dilakukan di situs yang mengelola data penting atau uang.

Beberapa dampaknya antara lain:

Mengubah alamat email atau password tanpa sepengetahuan pengguna.

Menghapus akun pengguna.

Melakukan transfer dana ke rekening penyerang.

Melakukan aksi berbahaya di panel admin jika korban adalah admin.

Cara Mencegah dan Mengatasi CSRF

Beruntungnya, CSRF bisa dicegah dengan cukup efektif jika developer menerapkan beberapa langkah keamanan berikut:

1. Gunakan CSRF Token

Sertakan token khusus (biasanya acak) dalam setiap form atau permintaan penting. Token ini akan diperiksa oleh server sebelum menjalankan aksi.

Contoh token di form HTML:

<input type=”hidden” name=”csrf_token” value=”abc123″>

2. Validasi Referer atau Origin

Pastikan permintaan hanya datang dari halaman yang sah, bukan dari situs luar.

3. Gunakan Cookie SameSite

Setel cookie login agar tidak bisa dikirim dari situs lain dengan menggunakan flag SameSite=Strict atau SameSite=Lax.

4. Gunakan Framework yang Sudah Aman

Framework seperti Laravel, Django, dan Express.js sudah memiliki perlindungan CSRF bawaan. Pastikan fitur ini diaktifkan.

5. Edukasi Developer

Banyak serangan terjadi karena developer tidak sadar pentingnya proteksi terhadap CSRF. Pelatihan keamanan dan review kode sangat dianjurkan.

Studi Kasus Nyata

Pernah ada kasus di mana pengguna bisa mengirim pesan atau mengubah informasi profil pengguna lain hanya dengan mengunjungi tautan tertentu. Masalahnya terjadi karena situs tersebut tidak memverifikasi apakah permintaan datang dari sumber yang sah. Setelah diberi token CSRF, celah ini bisa ditutup.

Kesimpulan

CSRF adalah jenis serangan yang senyap tapi bisa sangat berbahaya. Serangan ini memanfaatkan status login pengguna untuk menjalankan aksi tanpa izin.

Berita baiknya: CSRF mudah dicegah jika kita menerapkan pengamanan sederhana seperti CSRF token, validasi sumber permintaan, dan menggunakan cookie yang aman.

Jangan tunggu sampai terjadi serangan. Lebih baik mencegah daripada mengobati—terutama di dunia digital yang makin rawan