Cross-site Request Forgery (CSRF) atau bisa disebut dengan one-click attack adalah sebuah serangan yang menggunakan injeksi script baik itu berupa kode javascript, link, atau gambar dengan memanfaatkan token autentikasi.

Disebut one-click attack karena metode ini hanya perlu pemicu dari user dan pemicunya bisa berupa link yang sudah dimaipulasi untuk mengeksekusi perintah.

Nah secara umum CSRF ini bekerja dengan memanfaatkan token autentikasi korbannya dengan tujuan melakukan suatu request yang tidak dinginkan oleh korban. Disini terlihat perbedaan antara CSRF dan Phising, Phising menggunakan url samaran untuk menipu korbannya yang seakan - akan menyerupai website resminya sedangkan CSRF korban akan dibawa kesebuah website yang baginya menarik dan oleh hacker website tersebut akan diinject dengan script jahat.

Ok jika kalian masih bingung saya akan mengandaikan bagaimana cara kerja dari CSRF ini.

Contoh Serangan

Misalkan ada 2 orang sebut saja Bona dan Boni. Bona akan mentransfer uang kepada Boni menggunakan fasilitas internet banking, setelah Bona melakukan proses autentikasi maka dia akan diarahkan kehalaman transfer.

Katakan saja halaman transfer tersebut memiliki form berupa No rekening tujuan, dan jumlah transfer dan juga sebuah tombol bertuliskan Transfer. Ketika proses transfer selesai Bona menerima sebuah e-mail yang berisi link artikel tentang cara membuat kue yang enak.

Nah disinilah si hacker memanfaatkan kesempatan tersebut. Dengan memanfaatkan akses token Bona yang masih aktif pada tab akun banknya maka si hacker akan menginject dan memanipulasi link yang ada dalam e-mail tersebut.

Disini si hacker akan membuat formnya sendiri membuatnya tidak terlihat dan menyisipkannya pada e-mail yang diterima oleh Bona. Jadi ketika Bona mengunjungi link tersebut maka yang akan melakukan request adalah form transfer bank pada tab yang satunya dan secara tidak sadar Bona telah mentransfer sejumlah uang kepada hacker tersebut.

sumber image: medium

Waah bahaya juga ya itu kalau transfer sejumlah uang, bagaimana jika si hacker mereset password kalian?.

Ok dari kejadian diatas kita menganalisa masing - masing peran memiliki kesalahannya masing - masing. Pertama form pada sistem Bank harusnya dilengkapi secure token untuk mencegah terjadinya request yang tidak dinginkan dan juga sistem bank bisa memproses GET request pada proses transfernya, kedua Bona tidak langsung logout dari sistem bank tersebut dan membiarkan tokennya aktif.

Tips Pencegahan

Dari analisa diatas kita akan tahu langkah penjegahan apa yang akan dilakukan untuk menangkal CSRF ini dan disini saya akan merangkum beberapa untuk kalian.

  1. Tips yang pertama adalah segera logout dari akun bank kalian ketiga tidak akan digunakan lagi. Sebab seperti yang saya sudah jelaskan diawal CSRF bekerja dengan memanfaatkan akses token pengguna.
  2. Untuk Developer Aplikasi disarankan untuk memberbaharui sistem keamanan secara berkala sebab tidak mungkin hacker menggunakan metode penyerangan yang sama ke sistem yang sama.
  3. Masih untuk para Developer khususnya website, pastikan agar request yang sifatnya menambah, mengedit, dan menghapus data dilakukan dengan method POST dan method GET hanya untuk menampikan data saja.
  4. Proteksi form dengan csrf protection saat ini hampir semua framework PHP sudah ada fitur ini bahkan CodeIgniter juga sudah disediakan di pada versi terbarunya.

Ok sekian pembahasan tentang CSRF semoga bermanfaat dan jika ada yang ingin didiskusikan langusung dikolom komentar ya :)
Untuk kalian yg lagi cari monitor atau aksesoris seperti keyboard, mousepad dan mouse bisa lihat rekomendasi saya di tokopedia ya.

Sumber thumbnail : livemint