Dibimbing - CSRF Adalah: Cara Kerja, Dampak, dan Pencegahannya
Blog
Full Stack Web Development

CSRF Adalah: Cara Kerja, Dampak, dan Pencegahannya

Author

DITULIS OLEH 

Irhan Hisyam Dwi Nugroho

Reviewer

DIREVIEW OLEH 

Sudah Direview Oleh Expert

Dibuat pada 18 Feb 2025

Diubah pada 13 Agt 2026

2525

Image Thumbnail

Catatan Redaksi:

Artikel ini pertama kali diterbitkan pada Februari 2025 dan diperbarui pada 12 Agustus 2026 untuk memastikan informasi tetap akurat dan relevan.

Pernah mendengar CSRF, Warga Bimbingan? CSRF adalah serangan yang memanfaatkan sesi aktif pengguna untuk mengirim permintaan tanpa izin.

Serangan ini bisa mengubah data, pengaturan akun, atau menjalankan transaksi seolah-olah dilakukan oleh pengguna. Masalahnya muncul ketika aplikasi tidak mampu membedakan permintaan asli dan palsu.

Penelitian Noe Elisa yang dipublikasikan di International Journal of Computer Applications pada 2017 menguji 79 website pemerintahan Tanzania. Hasilnya, 51 website atau 64,5% memiliki kerentanan tingkat menengah, termasuk CSRF dan Denial of Service.

Kamu juga bisa mempelajari keamanan aplikasi melalui Bootcamp Full Stack Web Development Dibimbing. Yuk, baca sampai akhir untuk memahami dampak dan cara mencegah CSRF!

Baca Juga:

  1. Web Application Security: Pengertian, Risiko, dan Cara Menjaganya
  2. Secure Coding: Pengertian, Manfaat, dan Cara Menerapkannya
  3. OWASP Adalah: Pengertian, Fungsi, dan Jenis Kerentanannya
  4. SQL Injection Adalah: Pengertian, Dampak, dan Cara Mencegahnya


Apa Itu CSRF?

CSRF adalah singkatan dari Cross-Site Request Forgery, yaitu serangan yang membuat browser pengguna mengirimkan permintaan tidak sah ke website tempat pengguna sedang terautentikasi. Server kemudian menganggap permintaan tersebut berasal dari pengguna yang sah.

Serangan ini tidak selalu mencuri nama pengguna atau kata sandi secara langsung. Sebaliknya, penyerang memanfaatkan sesi login, cookie, atau kredensial yang sudah tersimpan di browser korban.

Sebagai contoh, kamu sedang masuk ke aplikasi keuangan melalui satu tab browser. Pada saat yang sama, kamu membuka website berbahaya yang diam-diam mengirimkan permintaan transaksi ke aplikasi tersebut.

Apabila website target tidak memiliki perlindungan yang memadai, permintaan tadi dapat diproses menggunakan sesi loginmu. Akibatnya, tindakan berbahaya terlihat seperti permintaan resmi dari pengguna.


Mengapa Serangan CSRF Bisa Terjadi?

CSRF dapat terjadi karena server tidak mampu membedakan permintaan asli dari pengguna dan permintaan palsu yang dikirimkan melalui website lain. Browser secara otomatis dapat menyertakan kredensial tertentu ketika mengirimkan permintaan ke sebuah domain.

Beberapa kondisi berikut dapat meningkatkan risiko serangan CSRF.


1. Pengguna Masih Memiliki Sesi Login Aktif

Serangan CSRF biasanya membutuhkan korban yang masih masuk ke website target. Selama sesi tersebut aktif, browser dapat mengirimkan cookie autentikasi bersama permintaan berikutnya.

Penyerang kemudian mencoba memanfaatkan kepercayaan website terhadap sesi pengguna. Karena kredensial terlihat valid, server dapat memproses tindakan yang tidak benar-benar diminta korban.


2. Website Tidak Menggunakan Token CSRF

Token CSRF merupakan nilai unik yang disertakan dalam permintaan tertentu. Server menggunakannya untuk memastikan permintaan berasal dari halaman resmi yang diterbitkan oleh aplikasi.

Jika token tidak tersedia atau tidak divalidasi dengan benar, permintaan palsu menjadi lebih sulit dibedakan. Kondisi ini memungkinkan penyerang meniru struktur permintaan yang sah.


3. Tindakan Sensitif Hanya Mengandalkan Cookie

Cookie sering dikirimkan secara otomatis oleh browser sesuai aturan domain dan konfigurasinya. Jika aplikasi hanya mengandalkan cookie sebagai bukti autentikasi, permintaan lintas website berpotensi ikut mendapatkan otorisasi.

Karena itu, tindakan sensitif sebaiknya membutuhkan pemeriksaan tambahan. Contohnya adalah token CSRF, verifikasi kata sandi, atau autentikasi ulang.


4. Endpoint Tidak Memeriksa Asal Permintaan

Aplikasi dapat memeriksa header seperti Origin atau Referer untuk membantu mengetahui asal permintaan. Tanpa pemeriksaan tersebut, permintaan dari domain asing berpotensi diterima seperti permintaan internal.

Namun, pemeriksaan header sebaiknya bukan satu-satunya mekanisme keamanan. Developer tetap perlu menerapkan perlindungan berlapis agar sistem tidak bergantung pada satu kontrol saja.


Bagaimana Cara Kerja CSRF?

Serangan CSRF melibatkan korban, website target, dan halaman yang dikendalikan penyerang. Supaya lebih mudah dipahami, berikut alur sederhananya.


1. Korban Login ke Website Target

Korban terlebih dahulu masuk ke website yang memiliki fitur sensitif. Website tersebut kemudian membuat sesi login dan menyimpan informasi autentikasi melalui cookie.

Selama sesi masih aktif, pengguna tidak perlu memasukkan kata sandi pada setiap tindakan. Kemudahan inilah yang berusaha dimanfaatkan oleh penyerang.


2. Penyerang Menyiapkan Permintaan Palsu

Penyerang mempelajari pola permintaan pada website target. Setelah itu, mereka membuat tautan, formulir, gambar, atau halaman yang dapat memicu permintaan tertentu.

Permintaan tersebut dapat dirancang untuk mengganti alamat surel, mengubah kata sandi, atau menjalankan transaksi. Korban tidak selalu menyadari bahwa halaman tersebut sedang mengirimkan permintaan lain.


3. Korban Membuka Tautan Berbahaya

Korban dapat membuka tautan melalui surel, pesan instan, iklan, atau website lain. Dalam beberapa skenario, korban bahkan tidak perlu menekan tombol tambahan setelah halaman terbuka.

Browser kemudian mengirimkan permintaan ke website target. Apabila aturannya memungkinkan, kredensial pengguna juga dapat disertakan secara otomatis.


4. Server Menganggap Permintaan Sah

Server menerima permintaan dengan sesi pengguna yang masih valid. Tanpa token atau pemeriksaan tambahan, sistem dapat menganggap bahwa pengguna memang menghendaki tindakan tersebut.

Akibatnya, perintah penyerang berhasil dijalankan menggunakan akun korban. Inilah alasan CSRF sering disebut sebagai serangan yang menyalahgunakan kepercayaan website terhadap browser pengguna.


Apa Saja Contoh Serangan CSRF?

apa-saja-contoh-serangan-csrf

Sumber: Desain oleh Dibimbing

Dampak serangan bergantung pada fitur yang tersedia dan hak akses korban. Berikut beberapa contoh tindakan yang dapat terjadi.


1. Mengubah Informasi Akun

Penyerang dapat mencoba mengganti alamat surel, nomor telepon, atau informasi profil pengguna. Setelah informasi kontak berubah, proses pemulihan akun dapat menjadi lebih sulit.

Serangan menjadi semakin serius jika perubahan tersebut tidak membutuhkan konfirmasi tambahan. Korban mungkin baru menyadarinya setelah kehilangan akses.


2. Mengganti Kata Sandi

Website yang mengizinkan perubahan kata sandi tanpa memeriksa kata sandi lama dapat memiliki risiko lebih tinggi. Penyerang dapat mencoba mengirimkan permintaan perubahan melalui sesi korban.

Jika berhasil, pengguna dapat kehilangan akses ke akun. Penyerang kemudian berpotensi mengambil alih akun tersebut.


3. Menjalankan Transaksi

Pada aplikasi keuangan atau perdagangan elektronik, CSRF dapat digunakan untuk mencoba mengubah alamat pengiriman atau melakukan transaksi. Dampaknya dapat berupa kerugian finansial maupun penyalahgunaan layanan.

Tindakan seperti ini seharusnya memiliki verifikasi tambahan. Contohnya adalah OTP, PIN transaksi, atau autentikasi ulang.


4. Mengubah Pengaturan Keamanan

Penyerang dapat mencoba menonaktifkan fitur keamanan atau menambahkan perangkat baru. Mereka juga mungkin mengubah izin yang berkaitan dengan akses akun.

Jika korban memiliki hak administrator, dampaknya dapat meluas ke seluruh sistem. Karena itu, tindakan administratif membutuhkan perlindungan yang lebih ketat.


Apa Dampak CSRF bagi Pengguna dan Perusahaan?

CSRF bukan sekadar masalah teknis pada kode aplikasi. Serangan ini dapat memengaruhi data pengguna, reputasi perusahaan, dan keberlangsungan layanan.

Beberapa dampaknya meliputi:

  1. Pengambilalihan akun: Informasi login atau pemulihan akun dapat diubah tanpa izin.
  2. Kerugian finansial: Transaksi atau perubahan data pembayaran dapat dilakukan melalui sesi korban.
  3. Perubahan data: Informasi pengguna, konfigurasi, maupun konten dapat dimodifikasi.
  4. Penyalahgunaan hak akses: Akun dengan izin tinggi dapat digunakan untuk menjalankan tindakan administratif.
  5. Penurunan kepercayaan: Pengguna dapat kehilangan kepercayaan terhadap keamanan aplikasi.
  6. Biaya pemulihan: Perusahaan perlu melakukan investigasi, perbaikan sistem, dan komunikasi insiden.

Besarnya dampak ditentukan oleh tindakan yang dapat dilakukan melalui endpoint rentan. Semakin tinggi hak akses korban, semakin besar pula risiko terhadap sistem.


Apa Perbedaan CSRF dan XSS?

CSRF dan Cross-Site Scripting atau XSS sama-sama menyerang aplikasi web, tetapi mekanismenya berbeda. CSRF memanfaatkan sesi pengguna untuk mengirimkan permintaan yang tidak diinginkan.

Sementara itu, XSS memungkinkan penyerang menyisipkan atau menjalankan skrip berbahaya dalam konteks halaman web. Skrip tersebut dapat digunakan untuk membaca data, memanipulasi halaman, atau menjalankan tindakan lain di browser korban.

Perbedaannya dapat diringkas sebagai berikut:

Aspek

CSRF

XSS

Target utama

Permintaan terautentikasi

Konten atau skrip pada halaman

Cara kerja

Memaksa browser mengirim permintaan

Menjalankan skrip berbahaya

Memerlukan sesi aktif

Umumnya ya

Tidak selalu

Risiko

Perubahan data dan transaksi

Pencurian data dan manipulasi halaman

Pencegahan utama

Token CSRF dan pengaturan cookie

Validasi, sanitasi, dan output encoding

XSS juga dapat digunakan untuk melewati sebagian perlindungan CSRF karena skrip berjalan dalam konteks website target. Oleh sebab itu, developer perlu mencegah kedua jenis kerentanan secara bersamaan.


Bagaimana Cara Mencegah CSRF?

Pencegahan CSRF sebaiknya dilakukan melalui beberapa mekanisme sekaligus. OWASP merekomendasikan penggunaan perlindungan bawaan framework, token CSRF, pengaturan cookie, dan verifikasi asal permintaan sesuai arsitektur aplikasi.


1. Gunakan Token CSRF

Aplikasi dapat membuat token unik yang sulit ditebak untuk setiap sesi atau permintaan. Token tersebut disisipkan dalam formulir atau header, kemudian diverifikasi oleh server.

Permintaan tanpa token yang benar harus ditolak. Token juga tidak boleh ditempatkan sembarangan pada URL karena berpotensi tercatat dalam riwayat atau log.


2. Aktifkan Atribut SameSite pada Cookie

Atribut SameSite membantu mengatur kapan cookie boleh dikirim dalam permintaan lintas website. Pengaturan Lax atau Strict dapat mengurangi peluang cookie autentikasi ikut terkirim.

Namun, konfigurasi perlu disesuaikan dengan kebutuhan aplikasi. Developer juga tetap disarankan menggunakan token CSRF sebagai perlindungan tambahan.


3. Gunakan Metode HTTP dengan Tepat

Permintaan GET sebaiknya hanya digunakan untuk mengambil data dan tidak mengubah kondisi sistem. Tindakan seperti menghapus, memperbarui, atau mengirim data perlu menggunakan metode yang sesuai.

Meski demikian, mengganti metode HTTP saja belum cukup mencegah CSRF. Server tetap perlu memvalidasi token dan autentikasi pengguna.


4. Periksa Origin atau Referer

Server dapat memeriksa apakah permintaan berasal dari domain yang diizinkan. Permintaan dari sumber asing dapat ditolak sebelum menjalankan tindakan sensitif.

Cara ini berguna sebagai kontrol tambahan. Namun, implementasinya perlu mempertimbangkan kemungkinan header tidak tersedia pada kondisi tertentu.


5. Terapkan Autentikasi Ulang

Tindakan berisiko tinggi sebaiknya meminta pengguna memasukkan kembali kata sandi, OTP, atau faktor autentikasi lainnya. Langkah ini mengurangi kemungkinan permintaan berjalan hanya berdasarkan sesi aktif.

Autentikasi ulang cocok diterapkan untuk perubahan kata sandi, pengaturan pembayaran, dan tindakan administratif. Dengan begitu, sesi login saja belum cukup untuk menyelesaikan tindakan.


6. Gunakan Perlindungan Bawaan Framework

Banyak framework modern menyediakan mekanisme perlindungan CSRF. Contohnya, Django menyediakan token pada formulir yang kemudian diperiksa oleh server.

Developer sebaiknya memahami cara kerja fitur tersebut dan tidak menonaktifkannya tanpa alasan jelas. Konfigurasi yang keliru tetap dapat membuka celah keamanan.


7. Lakukan Pengujian Keamanan

Aplikasi perlu diuji untuk memastikan endpoint sensitif tidak menerima permintaan tanpa validasi. Pengujian dapat mencakup pemeriksaan token, sesi, hak akses, dan konfigurasi cookie.

Hasil pengujian harus diikuti dengan proses perbaikan serta pengujian ulang. Keamanan aplikasi merupakan proses berkelanjutan, bukan tugas satu kali sebelum peluncuran.


Apakah CORS Dapat Mencegah CSRF?

CORS mengatur apakah browser mengizinkan website lain membaca atau mengirim jenis permintaan tertentu ke sebuah server. Mekanisme ini penting untuk mengendalikan interaksi lintas domain.

Namun, CORS bukan pengganti token CSRF. Beberapa permintaan lintas situs masih dapat dikirimkan meskipun responsnya tidak dapat dibaca oleh halaman penyerang.

Karena itu, aplikasi tetap perlu memvalidasi token, sesi, asal permintaan, dan hak akses. Jangan menganggap konfigurasi CORS saja sudah cukup untuk melindungi tindakan sensitif.


Apakah Pengguna Bisa Menghindari Serangan CSRF?

Pencegahan utama merupakan tanggung jawab pengembang aplikasi. Meski begitu, pengguna tetap dapat mengurangi risiko dengan menerapkan kebiasaan digital yang aman.

Beberapa langkah yang bisa kamu lakukan antara lain:

  1. Keluar dari akun sensitif setelah selesai digunakan.
  2. Jangan membuka tautan mencurigakan saat masih login.
  3. Gunakan browser yang selalu diperbarui.
  4. Aktifkan autentikasi multifaktor apabila tersedia.
  5. Periksa perubahan data dan aktivitas akun secara rutin.
  6. Hindari menyimpan sesi login terlalu lama pada perangkat umum.

Langkah tersebut tidak dapat memperbaiki kerentanan pada sisi server. Namun, kebiasaan yang baik dapat memperkecil kesempatan penyerang memanfaatkan sesi aktif.

Baca Juga:

  1. Jenis Ancaman Cyber Security yang Harus Diwaspadai
  2. Penetration Testing: Pengertian, Fungsi, Fase, dan Cara Kerja
  3. Pentingnya Belajar Cyber Security di Era Digital
  4. Dasar Hacking: Konsep, Teknik, dan Cara Belajarnya


Kesimpulan

CSRF adalah serangan yang memanfaatkan sesi aktif pengguna untuk mengirim permintaan tanpa izin. Dampaknya dapat berupa perubahan data, transaksi, hingga pengambilalihan akun.

Pencegahannya bisa dilakukan dengan token CSRF, atribut SameSite pada cookie, validasi asal permintaan, dan autentikasi ulang untuk tindakan sensitif.


Rekomendasi Bootcamp Full-Stack Web Development Terbaik: Dibimbing

Kalau kamu ingin berkarier sebagai full-stack developer, memahami teori pemrograman saja belum cukup. Kamu juga perlu menguasai front-end, back-end, basis data, API, hingga proses deployment yang relevan dengan kebutuhan industri.

Bootcamp Full-Stack Web Development Dibimbing dirancang untuk membantumu meningkatkan skill melalui live class, sesi praktik, proyek berbasis studi kasus, dan pendampingan mentor ahli. Program ini cocok untuk mahasiswa, fresh graduate, maupun profesional yang ingin upskill atau beralih karier ke bidang teknologi.


Program Bootcamp Full-Stack Web Development Dibimbing:

  1. Live Class: Ikuti 70+ kelas interaktif dan 10+ sesi praktik bersama mentor ahli.
  2. Portofolio: Kerjakan 15+ tugas mingguan dan mini project untuk membangun portofolio.
  3. Final Project: Selesaikan proyek akhir berbasis studi kasus nyata di bidang full-stack development.
  4. Pendampingan: Dapatkan dukungan fasilitator dan mentor berdedikasi yang tersedia 24/7.
  5. Peluang Karier: Persiapkan diri untuk berbagai posisi, seperti front-end developer, back-end developer, dan full-stack developer.
  6. Penyaluran Kerja: Ikuti program kelulusan dan penyaluran kerja ke 840+ perusahaan mitra.
  7. Konsultasi: Nikmati sesi konsultasi 1-on-1 tanpa batas bersama instruktur ahli.
  8. Komunitas: Bergabung dengan komunitas expertise Full Stack Web Developer untuk berdiskusi dan memperluas relasi profesional.


Siap Berkarier sebagai Full-Stack Developer?

Kalau kamu ingin membangun kemampuan pengembangan web yang relevan dengan kebutuhan industri sekaligus memiliki portofolio proyek nyata, Bootcamp Full-Stack Web Development Dibimbing bisa menjadi salah satu pilihan terbaik untuk dipertimbangkan.

Yuk, konsultasi dengan Tim Dibimbing untuk mengetahui kurikulum, jadwal kelas, biaya, dan informasi pendaftarannya.


FAQ

1. Apa Itu CSRF?

CSRF adalah serangan yang memanfaatkan sesi aktif pengguna untuk mengirimkan permintaan tanpa izin. Server dapat menganggap permintaan tersebut sah karena menggunakan autentikasi milik korban.

2. Bagaimana Cara Kerja CSRF?

Cara kerja CSRF dimulai ketika korban masih login ke suatu website, lalu membuka tautan atau halaman berbahaya. Browser kemudian mengirimkan permintaan ke website target menggunakan sesi aktif korban.

3. Apa Contoh Serangan CSRF?

Contoh CSRF meliputi perubahan alamat surel, kata sandi, data akun, atau transaksi tanpa persetujuan pengguna. Dampaknya bergantung pada fitur website dan hak akses yang dimiliki korban.

4. Apa Fungsi Token CSRF dan Bagaimana Cara Mencegah CSRF?

Token CSRF digunakan untuk memastikan permintaan berasal dari halaman resmi aplikasi. Selain menggunakannya, cara mencegah CSRF dapat dilakukan melalui atribut SameSite pada cookie, validasi Origin atau Referer, serta autentikasi ulang.

5. Apa Perbedaan CSRF dan XSS?

CSRF dan XSS memiliki cara kerja berbeda. CSRF memaksa browser mengirimkan permintaan melalui sesi pengguna, sedangkan XSS menjalankan skrip berbahaya untuk mencuri data atau memanipulasi halaman.

Share:

Penulis

Penulis Image

Irhan Hisyam Dwi Nugroho

Irhan Hisyam Dwi Nugroho is an SEO Specialist and Content Writer with 4 years of experience in optimizing websites and writing relevant content for various brands and industries. Currently, I also work as a Content Writer at Dibimbing.id and actively share content about technology, SEO, and digital marketing through various platforms.

Reviewer

Reviewer Image

Sudah Direview Oleh Expert

Setiap artikel yang berlabel "Sudah Direview Oleh Expert" telah melalui proses peninjauan oleh praktisi atau mentor yang berpengalaman di bidangnya untuk memastikan informasi yang disajikan berkualitas, akurat, dan relevan bagi pembaca.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!