Cross-Site Request Forgery (CSRF) adalah salah satu cara tertua untuk mengeksploitasi kerentanan situs web. Ini menargetkan sakelar web sisi server yang biasanya memerlukan otentikasi seperti masuk. Selama serangan CSRF, penyerang bertujuan untuk memaksa korbannya membuat permintaan web berbahaya yang tidak sah atas nama mereka.

Praktik keamanan situs web yang lemah atau buruk dan kecerobohan di jalur pengguna adalah beberapa penyebab umum serangan CSRF yang berhasil.

Mari kita lihat apa itu serangan CSRF dan kemungkinan cara Anda dapat mencegah diri Anda sendiri darinya sebagai pengembang atau sebagai pengguna.

Bagaimana Serangan CSRF Mempengaruhi Anda?

CSRF adalah serangan yang digunakan untuk mengimplementasikan permintaan yang tidak sah selama tindakan web yang memerlukan login atau otentikasi pengguna. Serangan CSRF dapat memanfaatkan ID sesi, cookie, serta kerentanan berbasis server lainnya untuk mencuri kredensial pengguna.

Misalnya, mengaktifkan prosedur anti-CSRF mencegah interaksi berbahaya lintas domain.

instagram viewer

Setelah penghalang tersebut rusak, penyerang dapat dengan cepat memanfaatkan ID sesi pengguna melalui cookie yang dibuat oleh browser pengguna dan menyematkan tag skrip ke situs web yang rentan.

Dengan memanipulasi ID, penyerang juga dapat mengarahkan pengunjung ke halaman web lain atau mengeksploitasi metode rekayasa sosial seperti email untuk mengirim tautan, mendorong korban untuk mengunduh perangkat lunak berbahaya.

Apa Itu Rekayasa Sosial? Inilah Cara Anda Bisa Diretas

Pelajari bagaimana manipulasi psikologis dapat memengaruhi Anda, ditambah contoh umum untuk membantu Anda mengidentifikasi dan tetap aman dari skema ini.

Setelah korban melakukan tindakan seperti itu, ia mengirimkan permintaan HTTP ke halaman layanan pengguna dan mengotorisasi tindakan permintaan untuk mendukung penyerang. Itu bisa sangat merusak bagi pengguna yang tidak menaruh curiga.

Serangan CSRF yang berhasil dapat membuat pengguna yang berwenang kehilangan kredensial aksesnya ke penyerang, terutama selama tindakan berbasis server seperti permintaan perubahan kata sandi atau nama pengguna. Dalam skenario yang lebih buruk, penyerang mengambil alih seluruh sesi dan bertindak atas nama pengguna.

CSRF telah digunakan untuk membajak transaksi dana melalui web serta mengubah nama pengguna dan sandi, yang menyebabkan pengguna kehilangan akses ke layanan yang terpengaruh.

Bagaimana Penyerang Membajak Sesi Anda Dengan CSRF: Contoh

Target utama serangan CSRF adalah tindakan web yang melibatkan otentikasi pengguna. Agar berhasil, diperlukan tindakan yang tidak disengaja dari korban.

Selama serangan CSRF, tindakan GET, DELETE, dan PUT, serta permintaan POST yang rentan menjadi target utama penyerang.

Mari kita lihat arti dari istilah-istilah itu:

  • DAPATKAN: Permintaan untuk mengumpulkan hasil dari database; misalnya, pencarian Google.
  • POS: Biasanya untuk mengirimkan permintaan melalui formulir web. Permintaan POST biasa terjadi selama pendaftaran atau login pengguna, atau dikenal sebagai otentikasi.
  • MENGHAPUS: Untuk menghapus sumber daya dari database. Anda melakukan ini setiap kali Anda menghapus akun Anda dari layanan web tertentu.
  • TARUH: Permintaan PUT mengubah atau memperbarui sumber daya yang ada. Contohnya adalah mengubah nama Facebook Anda.

Dalam praktiknya, penyerang menggunakan pembajakan sesi untuk mendukung serangan CSRF. Saat menggunakan kombinasi ini, penyerang dapat menggunakan pembajakan untuk mengubah alamat IP korban.

Perubahan alamat IP kemudian memasukkan korban ke situs web baru di mana penyerang telah memasukkan tautan tipuan yang mengirimkan formulir yang direplikasi atau permintaan server yang dimodifikasi yang mereka buat melalui CSRF.

Pengguna yang tidak curiga kemudian mengira pengalihan tersebut berasal dari penyedia layanan dan mengklik link di halaman web penyerang. Setelah mereka melakukan ini, peretas mengirimkan formulir pada pemuatan halaman tanpa sepengetahuan mereka.

Contoh Serangan CSRF GET Request

Bayangkan mencoba melakukan pembayaran online melalui platform e-niaga tanpa jaminan. Pemilik platform menggunakan permintaan GET untuk memproses transaksi Anda. Kueri GET itu mungkin terlihat seperti ini:

https://websiteurl/pay? jumlah = $ 10 & perusahaan = [akun perusahaan ABC]

Seorang pembajak dapat mencuri transaksi Anda dengan mudah dengan mengubah parameter permintaan GET. Untuk melakukan ini, yang perlu mereka lakukan hanyalah menukar nama Anda dengan nama mereka, dan lebih buruk lagi, ubah jumlah yang ingin Anda bayarkan. Mereka kemudian mengubah kueri asli menjadi seperti ini:

https://websiteurl/pay? jumlah = $ 20000 & perusahaan = [akun penyerang]

Setelah Anda mengklik tautan ke permintaan GET yang dimodifikasi, Anda akhirnya melakukan transfer yang tidak disengaja ke akun penyerang.

Bertransaksi melalui permintaan GET adalah praktik yang buruk, dan membuat aktivitas rentan terhadap serangan.

Contoh Serangan CSRF Permintaan POST

Namun, banyak developer percaya bahwa menggunakan permintaan POST lebih aman untuk melakukan transaksi web. Meskipun itu benar, sayangnya, permintaan POST juga rentan terhadap serangan CSRF.

Untuk berhasil membajak permintaan POST, semua yang dibutuhkan penyerang adalah ID sesi Anda saat ini, beberapa replika bentuk tak terlihat, dan terkadang, sedikit manipulasi psikologis.

Misalnya, formulir permintaan POST mungkin terlihat seperti ini:







Namun, penyerang dapat menukar kredensial Anda dengan membuat halaman baru dan mengubah formulir di atas menjadi ini:









Dalam bentuk yang dimanipulasi, penyerang menetapkan nilai kolom jumlah ke "30000", menukar nomor rekening penerima ke mereka, mengirimkan formulir pada pemuatan halaman, dan juga menyembunyikan bidang formulir dari pengguna.

Setelah mereka membajak sesi saat ini, halaman transaksi Anda memulai pengalihan ke halaman penyerang, yang meminta Anda untuk mengklik link yang mereka tahu kemungkinan besar akan Anda kunjungi.

Mengklik ini memuat pengiriman formulir yang direplikasi, yang mentransfer dana Anda ke akun penyerang. Itu berarti Anda tidak perlu mengklik tombol seperti "kirim" agar transaksi berlangsung, karena JavaScript secara otomatis melakukan ini saat memuat halaman web berikutnya.

Selain itu, penyerang juga dapat membuat draf email tersemat HTML yang meminta Anda mengklik link untuk melakukan pengiriman formulir pemuatan halaman yang sama.

Tindakan lain yang rentan terhadap serangan CSRF adalah nama pengguna atau perubahan kata sandi, contoh permintaan PUT. Seorang penyerang mereplikasi formulir permintaan Anda dan mengganti alamat email Anda dengan milik mereka.

Kemudian mereka mencuri sesi Anda dan mengarahkan Anda ke halaman atau mengirimi Anda email yang meminta Anda mengklik link yang menarik.

Itu kemudian mengirimkan formulir yang dimanipulasi yang mengirimkan tautan pengaturan ulang kata sandi ke alamat email peretas, bukan milik Anda. Dengan cara itu, peretas mengubah kata sandi Anda dan mengeluarkan Anda dari akun Anda.

Bagaimana Mencegah Serangan CSRF sebagai Pengembang

Salah satu metode terbaik untuk mencegah CSRF adalah dengan menggunakan token yang sering berubah alih-alih bergantung pada cookie sesi untuk menjalankan perubahan status di server.

Terkait: Panduan Gratis untuk Memahami Keamanan Digital dan Melindungi Privasi Anda

Banyak kerangka kerja backend modern menawarkan keamanan terhadap CSRF. Jadi, jika Anda ingin menghindari teknis peningkatan terhadap CSRF sendiri, Anda dapat mengatasinya dengan mudah menggunakan kerangka kerja sisi server yang dilengkapi dengan token anti-CSRF bawaan.

Saat Anda menggunakan token anti-CSRF, permintaan berbasis server menghasilkan string acak alih-alih cookie sesi yang lebih rentan statis. Dengan begitu, Anda bisa melindungi sesi Anda agar tidak ditebak oleh pembajak.

Menerapkan sistem autentikasi dua faktor (2FA) untuk menjalankan transaksi di aplikasi web Anda juga mengurangi kemungkinan CSRF.

CSRF dapat dimulai melalui pembuatan skrip lintas situs (XSS), yang melibatkan injeksi skrip ke bidang pengguna seperti formulir komentar. Untuk mencegah hal ini, praktik yang baik adalah mengaktifkan pelolosan otomatis HTML di semua bidang formulir pengguna di seluruh situs web Anda. Tindakan itu mencegah kolom formulir menafsirkan elemen HTML.

Bagaimana Mencegah Serangan CSRF sebagai Pengguna

Sebagai pengguna layanan web yang melibatkan otentikasi, Anda memiliki peran untuk dimainkan dalam mencegah penyerang mencuri kredensial dan sesi Anda melalui CSRF juga.

Pastikan Anda menggunakan layanan web tepercaya selama aktivitas yang melibatkan transfer dana.

Selain itu, gunakan browser web yang aman yang melindungi pengguna dari keterpaparan sesi, serta mengamankan mesin telusur yang melindungi dari kebocoran data penelusuran.

Terkait: Mesin Pencari Pribadi Terbaik Yang Menghargai Data Anda

Sebagai pengguna, Anda juga dapat bergantung pada pengautentikasi pihak ketiga seperti Google Authenticator atau alternatifnya untuk memverifikasi identitas Anda melalui web.

Meskipun Anda mungkin merasa tidak berdaya untuk menghentikan penyerang membajak sesi Anda, Anda tetap dapat membantu cegah ini dengan memastikan bahwa browser Anda tidak menyimpan informasi seperti kata sandi dan info masuk lainnya detailnya.

Tingkatkan Keamanan Web Anda

Pengembang perlu menguji aplikasi web secara teratur untuk mengetahui adanya pelanggaran keamanan selama pengembangan dan penerapan.

Namun, merupakan hal yang umum untuk memperkenalkan kerentanan lain saat mencoba mencegah kerentanan lain. Jadi berhati-hatilah untuk memastikan bahwa Anda tidak melanggar parameter keamanan lain saat mencoba memblokir CSRF.

Surel
5 Alat Kata Sandi untuk Membuat Kata Sandi yang Kuat dan Perbarui Keamanan Anda

Buat kata sandi yang kuat yang dapat Anda ingat nanti. Gunakan aplikasi ini untuk meningkatkan keamanan Anda dengan kata sandi baru yang kuat hari ini.

Topik-topik terkait
  • Keamanan
  • Keamanan Online
Tentang Penulis
Idowu Omisola (46 Artikel Dipublikasikan)

Idowu sangat tertarik dengan teknologi pintar dan produktivitas apa pun. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

Selebihnya Dari Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Satu langkah lagi…!

Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan.

.