Pemalsuan Permintaan Lintas Situs (CSRF)

Serangan CSRF memaksa pengguna yang diautentikasi (korban) untuk mengirim permintaan HTTP yang dipalsukan, termasuk cookie sesi korban ke aplikasi web yang rentan, yang memungkinkan penyerang untuk memaksa browser korban untuk membuat permintaan sedemikian rupa sehingga aplikasi yang rentan menganggapnya sebagai permintaan yang sah dari korban.

Mari kita pahami Agen Ancaman, Vektor Penyerang, Kelemahan Keamanan, Dampak Teknis, dan Dampak Bisnis dari kelemahan ini dengan bantuan diagram sederhana.

Contoh

Berikut adalah contoh klasik CSRF -

Step 1 - Misalkan, aplikasi yang rentan mengirimkan permintaan perubahan status sebagai teks biasa tanpa enkripsi apa pun.

http://bankx.com/app?action=transferFund&amount=3500&destinationAccount=4673243243

Step 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 = "http://bankx.com/app?action=transferFunds&amount=14000&destinationAccount=attackersAcct#" 
   width = "0" height = "0" />

Tangan di atas

Step 1- Mari kita melakukan pemalsuan CSRF dengan menyematkan skrip Java ke dalam gambar. Cuplikan dari masalah tersebut tercantum di bawah ini.

Step 2 - Sekarang kita perlu memalsukan transfer menjadi gambar 1x1 dan membuat korban mengklik yang sama.

Step 3 - Setelah mengirimkan pesan, pesan akan ditampilkan seperti yang disorot di bawah.

Step 4- Sekarang jika korban mengklik URL berikut, transfer dijalankan, yang dapat ditemukan mencegat tindakan pengguna menggunakan burp suite. Kami dapat melihat transfer dengan melihatnya di Dapatkan pesan seperti yang ditunjukkan di bawah ini -

Step 5 - Sekarang setelah mengklik segarkan, tanda penyelesaian pelajaran ditampilkan.

Mekanisme Pencegahan

  • CSRF dapat dihindari dengan membuat token unik di bidang tersembunyi yang akan dikirim dalam isi permintaan HTTP daripada di URL, yang lebih rentan terhadap eksposur.

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