Dalam dunia digital yang semakin canggih, aplikasi web menjadi bagian penting dalam kehidupan sehari-hari, misalnya dalam membantu kita belanja, komunikasi, dan main game dengan mudah dan efisien. Namun, keamanan aplikasi web menjadi perhatian besar, terutama karena banyaknya serangan cyber yang semakin pintar. Salah satunya adalah Cross-Site Request Forgery (CSRF), yang memanfaatkan kelemahan otentikasi aplikasi web, serangan ini bisa mengakibatkan pencurian data dan layanan terganggu.
Artikel ini membahas bagaimana serangan CSRF dapat memanfaatkan kerentanan pada mekanisme otentikasi, khususnya pada halaman login. Pemahaman mendalam tentang cara serangan ini dapat dieksekusi dan dampaknya penting untuk melindungi keamanan dan integritas informasi pengguna. Solusi konkret juga diajukan untuk mengurangi risiko serangan CSRF pada halaman login aplikasi web.
1. Pengertian CSRF
Cross-Site Request Forgery (CSRF) adalah serangan keamanan pada aplikasi web di mana penyerang memaksa pengguna yang sudah terotentikasi secara tidak sah untuk melakukan tindakan tertentu di dalam aplikasi. Dalam serangan ini, penyerang memanfaatkan kelemahan dalam mekanisme otentikasi aplikasi web untuk menyebabkan pengguna melakukan tindakan tanpa pengetahuan atau persetujuan mereka.
Secara khusus, serangan CSRF melibatkan penyerangan melalui mekanisme otentikasi yang biasanya digunakan dalam bentuk token otentikasi. Penyerang mencoba membuat pengguna yang sudah terotentikasi melakukan tindakan seperti mengubah kata sandi, melakukan transaksi keuangan, atau mengirim data sensitif lainnya ke server tanpa sepengetahuan atau persetujuan pengguna yang bersangkutan.
2. Jenis - jenis serangan CSRF
a. Stored
Jenis Cross Site Request Forgery yang pertama adalah stored. Jenis ini menggunakan aplikasi website sebagai media untuk mendistribusikan exploit URL tersebut. Serangan stored kemungkinan besar berhasil karena ketika di dalam situs, pengguna dalam posisi login dan tergolong authentic user.
Sehingga ketika mengirim permintaan, situs akan mengira jika itu memang request asli dari pengguna, padahal kamu hanya tidak sengaja mengklik URL-nya dan tidak tahu juga jika itu adalah sebuah exploit URL.
b. Reflected
Jenis CSRF selanjutnya adalah reflected, jika pada jenis sebelumnya menggunakan media website sebagai distribusi, maka berbeda dengan jenis reflected yang menggunakan sistem di luar situs, misalnya seperti lewat email, kolom komentar pada postingan blog, message board, dan masih banyak yang lain.
Karena dilakukan di luar website, maka kemungkinan kegagalan serangan ini lebih besar. Sebab, kemungkinan besar pengguna tidak sedang dalam sistem website target saat itu. Bagi pelaku, jenis reflected dianggap lebih aman karena jejaknya dapat dihapus segera dan sulit untuk dilacak.