
Bayangin Kamu Dapat Email Menarik...
Bayangin Budi baru saja Login ke website Bank-nya di browser (Google Chrome). Karena urusan belum selesai, Budi tidak Log out dan membuka tab baru untuk mengecek email.
Di email, ada pesan: "Selamat Anda menang undian! Klik gambar ini." Saat Budi mengklik gambar lucu tersebut, tiba-tiba saldo di bank-nya terkirim Rp 10 Juta ke rekening Hacker! Kok bisa? Padahal Budi tidak pernah memberikan password-nya?
Masalahnya: Sifat 'Terlalu Penurut' dari Browser
Browser memiliki sifat otomatis: Jika kamu meminta data ke website bank.com, browser akan selalu menyertakan Cookie Login-mu secara otomatis di latar belakang.
Hacker yang pintar tidak mencuri password Budi. Hacker membuat website jebakan yang berisi script gaib: dengan tujuan rekening Hacker. Saat Budi mengklik gambar di email, script itu diam-diam menembak URL transfer Bank. Karena Budi masih dalam status Login di tab sebelahnya, Browser dengan polosnya menempelkan Cookie Login Budi ke tembakan Hacker tersebut. Server Bank mengira Budi sendirilah yang menyuruh transfer!
Di Sinilah Konsep CSRF Token Masuk
Serangan ini disebut Cross-Site Request Forgery (CSRF). Untuk mencegahnya, Bank menerapkan sistem Anti-CSRF Token.
- Saat Budi buka halaman Transfer, Server Bank tidak cuma ngasih form biasa. Server menyelipkan Token Rahasia (teks acak) yang umurnya sangat pendek ke dalam Form HTML Budi.
- Saat tombol transfer ditekan, Token ini wajib ikut dikirim balik ke Server.
- Ketika Hacker mencoba menembak URL transfer dari web jebakannya, Hacker TIDAK TAHU apa isi Token Rahasia yang disembunyikan di layar Budi.
- Server Bank mengecek: "Wah, Cookies loginnya sih bener punya Budi, tapi kok Token rahasianya kosong? PASTI INI SERANGAN HACKER!" Transaksi pun langsung diblokir.
Intinya: Jangan pernah percayakan autentikasi murni hanya pada Cookie bawaan browser untuk aksi-aksi kritikal (POST/PUT/DELETE) tanpa lapisan Token validasi ganda!
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates