Pernah membayangkan akun bank online dibobol hanya dalam waktu 3 detik, tanpa perlu login, tanpa perlu password, dan tanpa kamu sadari?

Inilah yang terjadi saat CSRF (Cross-Site Request Forgery) menyerang. Mari kita lihat studi kasus nyata bagaimana satu celah kecil bisa membawa kerugian besar hanya lewat satu klik.


🔍 Apa Itu CSRF?

Sebelum masuk ke kasus, kita pahami dulu sedikit:

CSRF adalah serangan yang membuat pengguna tanpa sadar melakukan aksi penting, seperti:

  • Transfer uang

  • Ubah password

  • Hapus akun

Hal ini terjadi karena browser selalu mengirim cookie login secara otomatis. Penyerang hanya perlu membuat jebakan, dan browser akan mengirim permintaan seolah-olah dari kamu sendiri.


📖 Kasus: Serangan ke Bank Online

🏦 Latar Belakang:

Sebuah bank online lokal punya fitur transfer uang lewat form seperti ini:

html
<form method="POST" action="https://bankku.com/transfer">
<input type="text" name="ke">
<input type="number" name="jumlah">
<button type="submit">Kirim</button>
</form>
  • Tidak ada token CSRF

  • Tidak ada pengecekan asal permintaan (Referer/Origin)

  • Menggunakan cookie login biasa

🧑‍💻 Penyerangnya Melakukan Ini:

Penyerang membuat halaman palsu seperti ini di blog-nya:

html
<form method="POST" action="https://bankku.com/transfer">
<input type="hidden" name="ke" value="1234567890">
<input type="hidden" name="jumlah" value="1000000">
</form>
<script>
document.forms[0].submit();
</script>

Lalu tautan blog itu dikirim ke korban via email, komentar, atau iklan.

📌 Apa yang Terjadi?

  1. Korban membuka email dan klik link ke blog penyerang.

  2. Browser korban langsung membuka halaman yang memuat form palsu.

  3. Form otomatis dikirim ke situs bank.

  4. Karena korban masih login, browser ikut mengirim cookie login ke bank.

  5. Server bank menerima dan memproses transfer uang.

⏱️ Total waktu? Tidak sampai 3 detik.
💸 Uang berpindah tangan, dan korban tidak sadar apa-apa.


🧨 Mengapa Ini Bisa Terjadi?

Kesalahan utama:

  • Tidak ada CSRF Token

  • Server tidak cek asal permintaan

  • Tidak menggunakan pengamanan SameSite Cookie

  • Menganggap semua permintaan dari browser itu “valid”


🛡️ Pelajaran yang Bisa Diambil

Jika Kamu Developer:

  • Selalu gunakan CSRF Token di form sensitif.

  • Gunakan metode POST atau PUT untuk aksi penting, jangan GET.

  • Aktifkan SameSite=Lax atau Strict pada cookie.

  • Validasi Referer atau Origin dari permintaan.

  • Gunakan framework modern seperti Laravel, Django, atau Spring yang sudah punya proteksi CSRF bawaan.

Jika Kamu Pengguna:

  • Logout jika sudah selesai menggunakan layanan online.

  • Jangan klik link sembarangan dari email atau website tidak dikenal.

  • Gunakan browser yang aman dan selalu update.

 

 

Penulis : Muhammad Aditya Alkhawarizmi

Nim : 23156291923

Jurusan : Sistem komputer


✅ Kesimpulan

Serangan CSRF tidak perlu keahlian tinggi atau teknik rumit. Cukup satu form tanpa perlindungan, dan satu korban yang masih login—uang bisa dicuri dalam hitungan detik.

Ingat: Website aman bukan cuma soal login dan password.
Perlindungan terhadap permintaan palsu (seperti CSRF) sama pentingnya.