CSRF (Cross-Site Request Forgery)

From OnnoWiki
Jump to navigation Jump to search

CSRF : Serangan Satu Klik yang Membahayakan

Cross-Site Request Forgery (CSRF) adalah jenis serangan pada aplikasi web di mana penyerang memaksa pengguna yang sudah terautentikasi untuk melakukan tindakan yang tidak diinginkan. Bayangkan seperti ini: Anda sedang login ke akun bank Anda, lalu secara tidak sengaja mengklik sebuah tautan yang tersembunyi di sebuah email. Tautan ini, tanpa sepengetahuan Anda, bisa saja mengirimkan perintah ke bank Anda untuk mentransfer uang ke rekening orang lain. Ini adalah contoh sederhana dari serangan CSRF.

Bagaimana Cara Kerja CSRF?

  • Penyerang Membuat Halaman Jahat: Penyerang membuat halaman web yang berisi form atau link yang dirancang khusus. Form atau link ini akan mengirimkan permintaan ke aplikasi web yang rentan terhadap CSRF.
  • Pengguna Mengunjungi Halaman Jahat: Pengguna yang sudah login ke aplikasi web target secara tidak sengaja mengunjungi halaman jahat yang dibuat oleh penyerang.
  • Browser Mengirimkan Permintaan: Ketika pengguna mengunjungi halaman jahat, browser mereka akan secara otomatis mengirimkan permintaan yang telah disiapkan oleh penyerang ke aplikasi web target.
  • Aplikasi Web Melayani Permintaan: Karena aplikasi web menganggap permintaan tersebut berasal dari pengguna yang sah (karena cookie sesi pengguna masih valid), maka aplikasi web akan menjalankan perintah yang ada dalam permintaan tersebut.

Contoh Sederhana:

Misalkan Anda memiliki sebuah aplikasi web sederhana yang memungkinkan pengguna untuk mengubah kata sandi mereka. Aplikasi ini rentan terhadap CSRF.

  • Halaman Jahat: Penyerang membuat halaman HTML sederhana dengan sebuah form yang tersembunyi:
<form action="http://bankanda.com/ubah_password" method="POST">
    <input type="hidden" name="password_baru" value="passwordbaru123">
    <input type="submit" value="Klik di sini (Anda tidak akan melihat apa-apa)">
</form>
  • Serangan: Penyerang mengirim email kepada Anda dengan tautan ke halaman jahat tersebut. Ketika Anda mengklik tautan itu, browser Anda akan secara otomatis mengirimkan permintaan ke aplikasi bank Anda untuk mengubah kata sandi Anda menjadi "passwordbaru123", tanpa Anda sadari.

Mengapa CSRF Berbahaya?

  • Kerugian Finansial: Serangan CSRF dapat digunakan untuk mentransfer uang, melakukan pembelian, atau mengubah informasi penting lainnya.
  • Kerusakan Data: Serangan CSRF dapat digunakan untuk menghapus data, mengubah pengaturan, atau merusak sistem.
  • Penyalahgunaan Akun: Serangan CSRF dapat digunakan untuk mengambil alih akun pengguna dan melakukan tindakan yang tidak diinginkan atas nama pengguna tersebut.

Mencegah CSRF:

  • Token CSRF: Tambahkan token unik pada setiap formulir dan verifikasi token tersebut di server sebelum memproses permintaan.
  • SameSite Cookie: Konfigurasi cookie HTTP dengan atribut SameSite untuk membatasi cookie hanya dikirimkan dalam permintaan dengan asal yang sama.
  • HTTPOnly Cookie: Atur cookie menjadi HTTPOnly untuk mencegah JavaScript mengakses cookie.
  • Validasi Input: Selalu lakukan validasi terhadap semua input pengguna untuk mencegah serangan injeksi.

Kesimpulan

CSRF adalah ancaman serius bagi keamanan aplikasi web. Dengan memahami bagaimana serangan CSRF bekerja, Anda dapat mengambil langkah-langkah yang diperlukan untuk melindungi aplikasi web Anda dari serangan ini.

Penting: Latihan membuat dan mencegah serangan CSRF sangat penting dalam pembelajaran ethical hacking. Namun, selalu lakukan dalam lingkungan yang terkendali dan dengan izin yang tepat.

Disclaimer: Informasi ini hanya untuk tujuan edukasi. Jangan gunakan informasi ini untuk melakukan aktivitas ilegal.


Pranala Menarik