CROSS SITE REQUEST FORGERY (DASAR KEAMANAN SIBER)
๐ป Tutorial Praktikum: Memahami dan Mencegah CSRF (Cross-Site Request Forgery)
๐ Apa itu CSRF?
CSRF (Cross-Site Request Forgery) adalah jenis serangan keamanan di mana penyerang memanfaatkan kredensial pengguna yang sedang login untuk melakukan aksi tanpa sepengetahuan korban di situs yang sah. Misalnya, tanpa sadar korban bisa saja mentransfer uang, mengganti password, atau menghapus akun hanya karena mengklik tautan tertentu.
⚙️ Mekanisme Serangan CSRF
-
Penyerang membuat URL/formulir berbahaya
-
Korban ditipu untuk mengklik link atau membuka halaman
-
Permintaan dikirim dengan kredensial korban (cookie/session)
-
Server memproses permintaan seolah-olah dari pengguna asli
๐ Studi Kasus: Transfer Uang
Ilustrasi Serangan:
-
Pak Budi login ke situs perbankan.
-
Ia menerima email berisi link:
-
Saat diklik, uang otomatis ditransfer tanpa izin Pak Budi.
๐งช Demo Praktikum CSRF Menggunakan XAMPP
1️⃣ Buat Folder di XAMPP
Buat C:\xampp\htdocs\crsf lalu buka folder melalui Visual Studio Code:
2️⃣ Buat Formulir Transfer (index.html)
3️⃣ Buat Script Transfer (transfer.php)
4️⃣ Buat Simulasi Serangan (csrf_attack.html)
๐งจ Cara Menjalankan Serangan
-
Jalankan XAMPP (Apache harus aktif).
-
Akses form transfer:
http://localhost/csrf/index.html -
Isi formulir untuk cek apakah berfungsi.
-
Akses file serangan:
http://localhost/csrf/csrf_attack.html -
Klik "Submit", lihat hasilnya.
๐ก️ Cara Mencegah Serangan CSRF
Tambahkan token CSRF sebagai verifikasi. Berikut perbaikan pada transfer.php dan index.html.
✅ Update index.html menjadi index.php
Tambahkan token di formulir:
✅ Update transfer.php
Verifikasi token sebelum memproses transfer:
⚠️ Dampak Serangan CSRF
-
Transaksi keuangan ilegal
-
Perubahan data pribadi
-
Penghapusan akun
-
Akses tidak sah ke fitur penting
-
Kerugian reputasi bagi perusahaan/situs
✅ Kesimpulan
CSRF adalah serangan yang sangat berbahaya jika situs tidak memiliki perlindungan token. Dengan menambahkan token unik pada setiap formulir, kita dapat mencegah manipulasi data oleh pihak ketiga.
Komentar
Posting Komentar