5 Kesalahan Developer yang Membuka Pintu CSRF Lebar‑Lebar
CSRF (Cross-Site Request Forgery) adalah salah satu serangan paling sering terjadi di aplikasi web. Masalahnya, banyak developer secara tidak sadar justru membuka jalan bagi CSRF untuk masuk.
Padahal, hanya karena satu kesalahan kecil, penyerang bisa mencuri data, mengubah informasi, bahkan mengirim uang dari akun pengguna—semua tanpa diketahui!
Nah, berikut 5 kesalahan umum developer yang sering terjadi dan bisa membuat aplikasi rentan terhadap serangan CSRF:
1️⃣ Tidak Menggunakan CSRF Token
❌ Kesalahan:
Banyak form di aplikasi web tidak dilengkapi token CSRF, terutama saat membuat form manual (tanpa framework).
⚠️ Akibatnya:
Penyerang bisa membuat form palsu yang mengirim data ke server. Karena browser otomatis mengirim cookie login, server akan menganggap permintaan palsu itu sah.
✅ Solusi:
Selalu tambahkan token CSRF di setiap form, dan verifikasi token di server.
Contoh:
2️⃣ Menyimpan Token di Tempat yang Mudah Diakses
❌ Kesalahan:
Menyimpan token di localStorage
atau window.token
.
⚠️ Akibatnya:
Kalau ada celah XSS (Cross-Site Scripting), penyerang bisa membaca token dan menggunakannya untuk menyerang sistem.
✅ Solusi:
Simpan token di cookie HttpOnly (tidak bisa dibaca oleh JavaScript) dan tambahkan proteksi seperti SameSite
dan Secure
.
3️⃣ Pakai Metode GET untuk Aksi Penting
❌ Kesalahan:
Menggunakan GET untuk aksi seperti:
-
Hapus data
-
Transfer uang
-
Ubah password
Contoh URL:
⚠️ Akibatnya:
Penyerang bisa menyisipkan URL ini ke dalam <img src="...">
, dan browser akan menjalankan tanpa sepengetahuan pengguna.
✅ Solusi:
Gunakan POST, PUT, atau DELETE untuk aksi penting, bukan GET.
4️⃣ Tidak Mengatur SameSite pada Cookie
❌ Kesalahan:
Membuat cookie login tanpa mengatur SameSite
.
⚠️ Akibatnya:
Browser akan mengirim cookie ke server walaupun permintaan berasal dari situs luar, dan ini yang dimanfaatkan oleh CSRF.
✅ Solusi:
Gunakan SameSite=Strict
atau SameSite=Lax
saat membuat cookie.
Contoh:
5️⃣ Tidak Validasi Header Referer atau Origin
❌ Kesalahan:
Server menerima semua permintaan tanpa mengecek darimana asalnya.
⚠️ Akibatnya:
Permintaan dari situs jahat bisa tetap diproses karena server tidak tahu itu datang dari luar.
✅ Solusi:
Tambahkan pengecekan:
🧾 Kesimpulan
Banyak serangan CSRF terjadi bukan karena sistem canggih penyerang, tapi karena kesalahan kecil dari developer. Dengan menghindari 5 kesalahan di atas, kamu sudah menutup pintu besar yang sering dimanfaatkan oleh penyerang.
Kesalahan Developer | Solusi Aman |
---|---|
Tidak pakai CSRF token | Tambahkan token unik dan validasi server |
Token disimpan sembarangan | Gunakan cookie HttpOnly + SameSite |
Pakai GET untuk aksi penting | Gunakan POST/PUT/DELETE |
Cookie tanpa SameSite |
Tambahkan SameSite=Strict |
Tidak cek Referer/Origin | Validasi domain asal permintaan |
Ingat: CSRF sering menyerang diam-diam. Tapi dengan langkah sederhana, kita bisa mencegahnya sejak awal. 💪
Penulias : Muhammad Aditya Alkhawarizmi
Nim : 23156201023
jurusan : Sistem Komputer