Apa itu serangan injeksi JavaScript?
1. Suntikan JavaScript adalah memasukkan sepotong kode JS ke bilah alamat browser untuk mengubah konten halaman variabel JS dan label halaman.
Menggunakan injeksi JavaScript, pengguna dapat mengubah konten mereka tanpa menutup atau menyimpan halaman web, yang dilakukan di bilah alamat browser. Sintaks perintah adalah sebagai berikut:
JavaScript: Alert (#Command#)
Misalnya, jika Anda ingin melihat kotak peringatan peringatan di situs http://www.example.com, pertama -tama masukkan URL di bilah alamat dan tunggu halaman dimuat, lalu hapus URL dan masukkan:
JavaScript: waspada (halo dunia)
Sebagai URL baru. Ini akan memunculkan kotak peringatan Hello World, menggunakan teknik ini untuk mengubah hampir semua hal di halaman web, seperti gambar. Misalkan ada gambar logo situs web, dan kami menemukan salah satu kode HTML dengan melihat file sumber halaman:
<Name img = hai src = hello.gif>
Gambar bernama HI, file sumbernya adalah hello.gif, kami ingin mengubahnya menjadi file bye.jpeg yang disimpan di situs kami (http://www.mysite.com), jadi alamat URL lengkap dari gambar tersebut adalah http://www.mysite.com/bye.jpeg, menggunakan Just Javascript Corerty, We Just Nears To Nears To The Reades: The Wears To Nears To The Reades: The Wears To Nears To the Just Exted: The Just Just Just Nears To Nears To Nears To Nears To Nears To Nearse: We Just Extelsite.
JavaScript: alert (document.hi.src = http: //www.mysite.com/bye.jpeg)
Anda akan melihat http://www.mysite.com/bye.jpegalert peringatan pop-up, dan gambar diubah. Perlu dicatat bahwa perubahan ini hanya sementara! Jika Anda menyegarkan halaman atau masukkan kembali perubahan Anda akan hilang karena Anda baru saja membuat perubahan ini di PC Anda, bukan di server web.
Menggunakan metode yang sama kami dapat melihat atau mengubah nilai variabel, misalnya, kami menemukan sepotong kode seperti ini di halaman web:
<Bahasa skrip = javaScript> var a = tes </script>
Itu berarti bahwa nilai variabel A adalah tes, dan sekarang kita masuk:
JavaScript: waspada (a)
Lalu kami mengubah nilainya menjadi halo:
JavaScript: waspada (a = halo)
Injeksi JavaScript biasanya digunakan untuk mengubah sifat bentuk, dengan asumsi ada sepotong kode seperti ini:
<Form Name = Format Action = Send.php Metode = Posting> <Input Type = Hidden Name = Mail [email protected]> <Input Type = Teks Nama = Nama> <Input Tipe = Kirim Nilai = Kirim> </form>
Kami ingin formulir dikirim ke kotak surat kami, bukan [email protected]. Anda dapat menggunakan perintah berikut:
JavaScript: Alert ([email protected])
Mungkin Anda telah memperhatikan hierarki perintah -perintah ini:
Mari kita jelaskan secara berurutan dari kiri ke kanan:
1) Dokumen berada di kiri
2) Lalu ada nama objek yang ingin kami ubah (seperti document.hi.src) atau objek yang dikandungnya (seperti document.format.mail.value)
3) Akhirnya, atribut yang ingin kami ubah (seperti jalur sumber: document.hi.src, atau nilai variabel: document.format.mail.value)
4) Gunakan pemisahan jumlah
5) Ketika kami ingin mengubah nilai atribut, kami menggunakan tanda = tanda dan nilai atribut baru
*Catatan: Ketika nilai atribut baru adalah string (misalnya: [email protected]) ia perlu dilampirkan dalam penawaran ganda.
Jika kita ingin menggunakannya sebagai nilai untuk variabel, kita tidak perlu menggunakan kutipan ganda. Misalnya, jika kita ingin menetapkan nilai variabel B ke variabel A, kita dapat memasukkan javascript: peringatan (a = b).
Namun, sebagian besar tag di halaman tidak memiliki nama, seperti:
<Form Action = Send.php Metode = Post> <Input Type = Hidden Name = Mail [email protected]> <Input Type = Teks Nama = Nama> <Input Type = Kirim Nilai = Kirim> </form>
Tidak ada nama formulir dalam kode ini. Berdasarkan informasi di atas, Anda dapat menggunakan perintah ini:
JavaScript: Alert (dokumen .mail.value = [email protected])
Dalam hal ini kita harus menghitung dan menemukan nomor urutan formulir, dan berikut ini adalah contoh:
<form action=send.php method=post> <input type=text name=name> <input type=submit value=submit> </form> <form action=send.php method=post> <input type=hidden name=mail [email protected]> <input type=text name=name> <input type=submit value=submit> </form> <form action=send.php method=post> <input type=text name = name> <input type = kirim nilai = kirim> </srom>
Dalam kode di atas kita melihat 3 formulir, tetapi kita hanya tertarik pada yang kedua, jadi nomor formulir yang kita inginkan adalah 2. Jangan lupa bahwa kita mulai dari 1, seperti 1, 2, 3, 4 ... sementara Javascript dimulai dari 0, seperti 0, 1, 2, 3 ... sehingga angka bentuk sebenarnya adalah 1, bukan 2. Biasanya kita harus mengurangi angka bentuk yang ditemukan dengan satu. Kami akan menggunakan nomor seri ini untuk menyelesaikan perintah kami:
JavaScript: Alert (Document.Forms [1] .mail.value = [email protected])
Dengan cara ini Anda dapat mengubah gambar atau tautan tanpa nama, dan Anda dapat mengubah formulir ke jenis tag apa pun yang Anda inginkan. Untuk gambar
JavaScript: Alert (Document.Images [3] .src =#URL gambar yang Anda inginkan#)
Untuk tautannya
JavaScript: Alert (Document.Links [0] .href =#URL yang Anda inginkan#)
Akhirnya, kita dapat menggunakan teknik ini untuk mengedit cookie. Perintah berikut ditulis oleh dr_amado dari TriviAsecurity.net, dan saya hanya memodifikasinya sedikit untuk membiarkannya muncul sebelum pengguna mengeditnya. Anda hanya perlu menyalinnya ke bilah alamat:
JavaScript: alert (window.c = fungsi a (n, v, nv) {c = document.cookie; c = c.substring (c.indexOf (n)+n.length, c.length); c = c.substring (1, (c.indexof (;)>-1)? c.indexOf (;): c.length) (c.indexOf (;)>-1)? c.indexOf (;): c.length) (c.indexof (;)>-1)? c.indexOf (;): c.length) (nv); document.cookie = n+=+Escape (NC); alert ('cookie adalah:'+document.cookie+''); peringatan (c (prompt (nama cookie:,), prompt (ubah nilai ini:,), prompt (dengan ini:,)))))// Jika Anda ingin mengubah cookie secara manual, Anda dapat menggunakan perintah berikut:
JavaScript: Alert (Document.Cookie)
Ini akan menampilkan cookie Anda saat ini, dengan asumsi userId = 1, jika Anda ingin mengubahnya menjadi userid = 2, Anda dapat menggunakan perintah berikut:
JavaScript: ALERT (Document.cookie = UserId = 2)
Akhirnya saya harus menekankan bahwa semua perubahan hanya ada di sisi klien! Ini seperti menyimpan halaman web di PC Anda dan memodifikasinya. Namun, menggunakan trik ini Anda masih dapat menipu halaman (seperti cookie) atau bypass verifikasi keamanan. Misalnya, beberapa halaman web akan mendeteksi lokasi tempat pengguna mengirim data. Jika Anda mengirim data dari http://www.test.com/form.php ke http://www.test.com/check.php, check.php dapat mendeteksi apakah data berasal dari formulir di http://www.test.com/form.php. Selain itu, jika Anda berencana untuk memasukkan kode JavaScript Anda sendiri ke halaman, dengan menggunakan beberapa trik ini, Anda akan dapat mengubah gambar dan membiarkannya sama!
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.