CSRF ATTACK

Sarni Syakir
4 min readJun 10, 2021

--

Apa Itu CSRF Attack ?

Cross Site Request Forgery (CSRF atau XSRF) adalah salah satu celah keamanan yang memanfaatkan program atau task yang digunakan oleh sebuah website Celah tersebut terjadi karena kurangnya pengamanan pada suatu file yang memproses formtertentu,sehingga kita dapat melakukan requestke file actiontersebut, dengan form yang telah kita modifikasi sebelumnya.Daripada mengeksploitasi pengguna web(user)agar percaya terhadap websiteyang sedang diakses, CSRF mengeskpolitasi websiteagar user tetap percaya bahwa website yang digunakan memang benar website yang ingin diakses.

CSRF juga dikenal dengan sebutan “one link attack”, karena pada implementasinya sang penyerang hanya perlu menginjeksi sebuah link yang berisi suatu webtask URLpada halaman tertentu untuk dibuka oleh calon korban, agar ketika korban membuka halaman tersebut, secara otomatis si korban akan mengeksekusi link URLyang telah diinjeksi sebelumnya.

Serangan CSRF

CSRF memiliki dua tipe serangan diantaranya:

1.Stored CSRF

Stored CSRF merupakan serangan
dimana penyerang dapat menggunakan aplikasi itu sendiri untuk memberi korban tautan eksploitasi atau konten lainnya yang mengarahkan browser korban untuk melakukan tindakan yang dikendalikan oleh penyerang.

2. Reflected CSRF

Reflected CSRF, merupakan serangan yang memanfaatkan link atau konten diluar sistem aplikasi. Hal ini bisa dilakukan dengan menggunakan email, blog, pesan instan yang terdapat didalam aplikasi tersebut.

Terdapat beberapa hal yang harus terjadi supaya Cross-Site-Request-Forgery berhasil, diantaranya : Penyerang harus menemukan formulir disitus target sesuatu yang tidak berguna untuk dia (misalnya, transfer uang, mengubah alamat e-mail, atau password korban); Penyerang harus menentukan nilai-nilai yang tepat untuk segala bentuk masukan. Jika salah satunya diminta untuk menjadi otentikasi nilai rahasia atau ID yang penyerang Tidak dapat ditebak penyerang, serangan akan gagal; Para penyerang harus membujuk korban ke halaman Web dengan kode berbahaya saat korban masuk ke situs sasaran.

Bagaimana Mencegah Serangan CSRF Sebagai Pengguna

Sebagai pengguna layanan web yang melibatkan otentikasi, kalian memiliki peran yang harus dimainkan dalam mencegah penyerang mencuri kredensial dan session kalian melalui CSRF juga. Pastikan kalian menggunakan layanan web tepercaya selama aktivitas yang melibatkan transfer dana. Selain itu, gunakan browser web aman yang melindungi pengguna dari session exposure, serta search engines aman yang melindungi dari kebocoran data penelusuran.

Sebagai pengguna, kalian juga dapat bergantung pada third-party authenticators seperti Google Authenticator atau alternatifnya untuk memverifikasi identitas kalian melalui web. Meskipun kalian mungkin tidak bisa untuk menghentikan penyerang membajak session kalian, kalian tetap dapat membantu mencegahnya dengan memastikan bahwa browser kalian tidak menyimpan informasi seperti sandi dan detail login lainnya.

Cara Kerja CSRF

Gambaran Umum CSRF Attack
Gambaran Umum CSRF Attack

Gambar merupakan gambaran umum Cara Kerja CSRF.
•Tahap pertama : client dan serverakan mengkonfirmasi
session iddari suatu halaman webtertentu.
•Tahap kedua : penyerang mengirimkan pesan yang dimana pesan tersebut
seolah-olah adalah pesan konfirmasi dari halaman web contoh.com. Pesan yang dikirimkan berupa link yang di dalamnya
sudah diinjeksi perintah untuk mengubah password dari suatu akun pada website contoh.com
•Setelah pesan tersebut terkirim ke korban,
selanjutnya korban melakukan klik terhadap linkkarena mengira pesan tersebut memang benar dari websitecontoh.com.
•Passworddari akun korban pun secara otomatis berubah pada halaman web contoh.com.
Ketika korban keluar (logout), maka korban sudah tidak bisa lagi logindengan
passwordyang sebelumnya karena passwordtersebut sudah diubah oleh penyerang

Langkah Kerja Dari CSRF Attack

Serangan CSRF memaksa pengguna yang diautentikasi (korban) untuk mengirim permintaan HTTP palsu, termasuk cookie sesi korban ke aplikasi web yang rentan, yang memungkinkan penyerang memaksa browser korban untuk membuat permintaan sehingga aplikasi yang rentan dianggap sebagai permintaan yang sah dari korban.Mari kita memahami Agen Ancaman, Vektor Serangan, Kelemahan Keamanan, Dampak Teknis dan Dampak Bisnis dari kelemahan ini dengan bantuan diagram sederhana.

Berikut adalah contoh klasik CSRF

Langkah 1 Katakanlah, aplikasi rentan mengirimkan permintaan perubahan status sebagai teks biasa tanpa enkripsi apa pun.

http://bankx.com/appaction=transferFund&amount=3500&destinationAccount=4673243243

Langkah 2 Sekarang peretas membuat permintaan yang mentransfer uang dari akun korban ke akun penyerang dengan menyematkan permintaan dalam gambar yang disimpan di berbagai situs di bawah kendali penyerang

<img src = “ destinationAccount=attackersAcct#”width = “0” height = “0” />http://bankx.com/app?action=transferFunds&amount=14000&

Hands ON

Langkah 1 Mari kita lakukan pemalsuan CSRF dengan menyematkan skrip Java ke dalam gambar. Cuplikan masalah tercantum di bawah ini.

Langkah 2 Sekarang kita perlu membuat tiruan transfer menjadi gambar 1x1 dan membuat korban mengklik yang sama.

Langkah 3 Setelah mengirimkan pesan, pesan ditampilkan seperti yang disorot di bawah ini.

Langkah 4 Sekarang jika korban mengklik URL berikut, transfer dijalankan, yang dapat ditemukan mencegat tindakan pengguna menggunakan bersendawa suite. Kita dapat melihat transfer dengan melihatnya di Get message seperti yang ditunjukkan di bawah ini

· CSRF dapat dihindari dengan membuat token unik di bidang tersembunyi yang akan dikirim di badan permintaan HTTP daripada di URL, yang lebih rentan terhadap paparan.

· Memaksa pengguna untuk mengautentikasi ulang atau membuktikan bahwa mereka adalah pengguna untuk melindungi CSRF. Misalnya, CAPTCHA.

--

--