Cross Site Request Forgery - Sabilla Ardani Putri
Apa Itu CSRF (Cross-Site Request Forgery)?
Contoh: Kamu sedang login ke situs bank. Tanpa kamu sadari, kamu mengklik link di email yang dikirim penyerang. Tiba-tiba, uangmu dikirim ke rekening penyerang.
Mekanisme Serangan CSRF
Studi Kasus: Transfer Uang
- Pak Budi login ke situs bank.
- Penyerang mengirim link berbahaya: http://bank.com/transferamount=1000&to=attacker_account
- Pak Budi mengklik link tersebut tanpa curiga.
- Uang langsung ditransfer ke rekening penyerang.
Buka C:\xampp\htdocs\
, lalu buat folder baru bernama csrf
Buat File index.html
Buka teks editor (misal: Notepad, VS Code), dan simpan file berikut di dalam folder csrf
.
Lokasi file: C:\xampp\htdocs\csrf\index.html
Isi file:
Buat File transfer.php
Lokasi file: C:\xampp\htdocs\csrf\transfer.php
Isi file:
Uji Form Transfer
1. Jalankan XAMPP → Start Apache
3. Isikan data transfer (misal: jumlah:
1000
, kepada: teman
)
Ini membuktikan form berjalan normal tanpa perlindungan CSRF.
Buat File csrf_attack.html
Lokasi file: C:\xampp\htdocs\csrf\csrf_attack.html
Isi file:
Jalankan Serangan
1. Buka http://localhost/csrf/csrf_attack.html lalu klik tombol Submit
Ini menunjukkan serangan berhasil. Padahal user tidak merasa melakukan transfer.
Mencegah CSRF dengan Token
Ubah index.html
jadi index.php
(agar bisa pakai PHP)
Ubah nama file:
-
index.html
→index.php
Isi file index.php
:
Ubah transfer.php untuk validasi token
Isi baru file transfer.php:
Coba Lagi Transfer Normal
1. Akses: http://localhost/csrf/index.php
2. Isi form dan submit.
3. Jika token valid → tampil : Transferred 1000 to teman
Coba Serangan Lagi
1. Akses kembali: http://localhost/csrf/csrf_attack.html
2. Klik Submit lalu akan muncul pesan: Permintaan tidak valid! Token tidak cocok.
Serangan CSRF berhasil digagalkan!
Dampak dari Serangan CSRF
-
Kehilangan Aset – seperti uang yang ditransfer tanpa izin.
-
Kompromi Akun – mengubah email, password, atau data penting lainnya.
-
Reputasi Website Buruk – pengguna kehilangan kepercayaan.
-
Tindakan Hukum – bagi aplikasi finansial yang lalai mengamankan pengguna.
Kesimpulan
-
CSRF bisa sangat berbahaya, terutama untuk aplikasi yang memproses data sensitif atau keuangan.
-
Gunakan CSRF Token sebagai perlindungan dasar dalam setiap form.
-
Pastikan server memverifikasi token pada setiap permintaan penting.
Komentar
Posting Komentar