JavaScript dapat digunakan sebagai alat bagi peretas untuk menyerang situs web. Menyuntikkan skrip berbahaya oleh JS (JavaScript) adalah salah satu metode. Jadi, mari kita pelajari cara mencegah serangan injeksi JS? Berikut ini adalah pernyataan yang bagus, bagikan dengan Anda:
Apa itu serangan injeksi JavaScript?
Setiap kali Anda menerima input konten dari pengguna dan menampilkannya kembali, situs web ini rentan terhadap serangan injeksi JavaScript. Mari kita lihat aplikasi spesifik yang rentan terhadap serangan injeksi JavaScript. Misalkan situs web umpan balik pelanggan telah dibuat. Pelanggan dapat mengunjungi situs web dan memasukkan informasi umpan balik tentang produk tersebut. Ketika seorang pelanggan mengirimkan umpan balik, informasi umpan balik diputar ulang di halaman umpan balik.
Situs web umpan balik pelanggan adalah situs web sederhana. Sayangnya, situs web ini rentan terhadap serangan injeksi JavaScript.
Misalkan teks berikut sedang dimasukkan ke dalam formulir umpan balik pelanggan:
<script> alert ("boo!") </script>
Teks ini mewakili skrip JavaScript yang menampilkan kotak pesan peringatan. Setelah seseorang mengirimkan skrip ini ke formulir umpan balik pelanggan, pesan Boo! akan menunjukkan serangan ketika ada orang yang mengunjungi situs web umpan balik pelanggan di masa depan. Anda juga mungkin berpikir bahwa orang lain tidak akan dapat menghancurkannya melalui serangan injeksi JavaScript.
Sekarang, reaksi pertama Anda terhadap serangan injeksi JavaScript mungkin mengabaikannya. Anda mungkin berpikir bahwa serangan injeksi JavaScript tidak lebih dari tidak berbahaya, dan sayangnya, peretas melakukan sabotase dengan menyuntikkan JavaScript ke situs web mereka. Serangan injeksi JavaScript dapat digunakan untuk melakukan serangan scripting lintas-situs (XSS). Dalam serangan scripting lintas situs, informasi pengguna rahasia dapat dicuri dan dikirim ke situs web lain.
Misalnya, peretas dapat menggunakan serangan injeksi JavaScript untuk mencuri nilai cookie dari browser pengguna lain. Jika informasi sensitif (seperti kata sandi, akun kartu kredit, atau nomor jaminan sosial) disimpan dalam cookie browser, peretas dapat mencurinya menggunakan serangan injeksi JavaScript. Atau, jika pengguna memasukkan informasi sensitif ke dalam bidang formulir halaman dan halaman dikompromikan oleh serangan JavaScript, peretas dapat menggunakan JavaScript yang disuntikkan untuk mendapatkan data formulir dan mengirimkannya ke situs web lain.
Tolong perhatikan. Ambil serangan injeksi JavaScript dengan serius dan lindungi informasi rahasia pengguna. Dalam dua bagian berikutnya, kita akan membahas dua teknik untuk mencegah aplikasi ASP.NET MVC diserang oleh injeksi JavaScript.
Metode 1: Pengkodean HTML dalam tampilan
Cara mudah untuk mencegah serangan injeksi JavaScript adalah dengan menyandikan data yang dimasukkan oleh pengguna situs web mana pun di HTML saat meredisplay data dalam tampilan.
Misalnya: <%= html.encode (feedback.message)%>
Apa arti menggunakan HTML untuk menyandikan string? Saat menggunakan HTML untuk menyandikan string, karakter berbahaya seperti <dan> diganti dengan entitas HTML seperti <n dan>. Jadi, ketika string <script> alert ("boo!") </script> dikodekan menggunakan html, itu akan dikonversi menjadi <script> alert ("boo!") </script>. Browser tidak lagi menjalankan skrip JavaScript saat mem -parsing string yang dikodekan. Sebaliknya, itu menunjukkan halaman yang tidak berbahaya
Metode 2: Pengkodean HTML Sebelum menulis ke database
Selain menggunakan HTML untuk menyandikan data saat menampilkan data dalam tampilan, Anda juga dapat menggunakan HTML untuk menyandikan data sebelum mengirimkannya ke database. Metode kedua adalah kasus dengan pengontrol dalam daftar 4 program.
menyukai:
Public ActionResult Buat (Pesan String) {// Tambahkan umpan balik newFeedBack = feedback baru (); newFeedBack.Message = server.htmlencode (pesan); newfeedback.entryDate = datetime.now; db.feedbacks.inSertonsubmit (newFeedBack); db.submitchangchal // redirectreturn redirecttoaction ("index");}Perhatikan bahwa nilai pesan adalah HTML yang dikodekan dalam operasi create () sebelum mengirimkan ke database. Ketika sebuah pesan dimainkan ulang dalam tampilan, pesan tersebut dikodekan HTML, jadi tidak ada JavaScript yang disuntikkan ke dalam pesan yang dilakukan.
Meringkaskan
Seringkali, orang lebih suka menggunakan metode pertama yang dibahas dalam tutorial ini dan bukan metode kedua. Masalah dengan pendekatan kedua adalah bahwa data yang dikodekan HTML pada akhirnya akan disimpan dalam database. Dengan kata lain, data dalam database akan berisi karakter aneh. Apa kerugian dari ini? Jika Anda perlu menampilkan data basis data dalam bentuk selain halaman web, Anda akan menghadapi masalah. Misalnya, data tidak dapat ditampilkan dengan mudah di aplikasi Windows Forms.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.