Rumah hujung hadapan web tutorial js Kelemahan keselamatan biasa JavaScript dan kemahiran teknologi_javascript pengesanan automatik

Kelemahan keselamatan biasa JavaScript dan kemahiran teknologi_javascript pengesanan automatik

May 16, 2016 pm 03:43 PM

Kata Pengantar

Dengan pembangunan Web2.0 dan populariti rangka kerja Ajax, aplikasi Web klien kaya (Rich Internet Applications, RIA) semakin meningkat dari hari ke hari, dan semakin banyak logik telah mula dipindahkan dari bahagian pelayan ke klien. Logik ini biasanya Semua ditulis menggunakan bahasa JavaScript. Tetapi malangnya, pembangun secara amnya tidak memberi banyak perhatian kepada keselamatan kod JavaScript. Menurut laporan trend jangka pertengahan IBM X-Force 2011, 40% daripada laman web Fortune 500 dan tapak web yang biasa diketahui mempunyai kelemahan keselamatan JavaScript. Artikel ini akan menunjukkan kepada pembaca kelemahan keselamatan JavaScript biasa dalam kombinasi dengan kod, bertujuan untuk membantu pembaca mengelakkan kelemahan keselamatan ini dalam kerja pengekodan harian. Selain itu, prinsip kelemahan keselamatan JavaScript sisi klien sedikit berbeza daripada kelemahan keselamatan bahagian pelayan Pada masa ini terdapat kesukaran teknikal utama dalam mengesan kelemahan keselamatan JavsScript secara automatik Artikel ini akan menggunakan kes untuk berkongsi dengan pembaca cara menggunakan ciri baharu teknologi IBM Rational AppScan Edisi Standard V8.0 (JavaScript Security Analyzer (JSA) mengesan kelemahan keselamatan JavaScript secara automatik.

Kerentanan keselamatan JavaScript biasa

Pada Disember 2010, IBM mengeluarkan kertas putih mengenai kelemahan keselamatan JavaScript sisi klien dalam aplikasi web, yang memperkenalkan tinjauan status keselamatan JavaScript yang dijalankan oleh Institut Penyelidikan Keselamatan IBM. Data sampel termasuk 675 tapak web, termasuk tapak web syarikat Fortune 500 dan 175 lagi tapak web terkenal, termasuk syarikat IT, syarikat perkhidmatan keselamatan aplikasi web, tapak rangkaian sosial, dsb. Untuk tidak menjejaskan operasi biasa tapak web ini, penyelidik menggunakan perangkak tidak mengganggu yang mengimbas hanya subset halaman yang boleh diakses tanpa log masuk, tidak lebih daripada 200 halaman setiap tapak. Halaman ini telah disimpan dan penyelidik menggunakan teknologi analisis keselamatan JavaScript IBM untuk menganalisis halaman ini di luar talian, memfokuskan pada skrip merentas tapak berasaskan DOM dan kelemahan pengalihan.

Hasil ujian adalah menakjubkan 14% daripada tapak web terkenal ini mempunyai masalah keselamatan JavaScript yang serius. Apa yang lebih menakjubkan ialah dengan kematangan teknologi analisis keselamatan JavaScript IBM, laporan pertengahan 2011 X-Force menunjukkan bahawa IBM menguji semula tapak web terkenal yang disebutkan di atas dan menemui lebih banyak kelemahan keselamatan, kira-kira 40% tapak web mempunyai keselamatan JavaScript. kelemahan.

Kod sumber rangka kerja keselamatan sejagat kebenaran peringkat perusahaan java SpringMVC mybatis atau hibernate ehcache shiro druid bootstrap HTML5

Artikel berikut akan menunjukkan kepada pembaca kelemahan keselamatan JavaScript biasa ini dalam kombinasi dengan kod, supaya pembaca dapat melihat isu keselamatan ini semasa proses pengekodan sebenar dan mengelakkan risiko ini seawal mungkin.

skrip merentas tapak berasaskan DOM

Kita semua pernah mendengar tentang XSS (Skrip Merentas Laman, juga dikenali sebagai serangan skrip merentas tapak), yang merujuk kepada penyerang memasukkan kod skrip berniat jahat (biasanya kod HTML dan JavaScript) ke dalam kod halaman web yang sah) dan kemudian menyerahkan meminta kepada pelayan, dan kemudian halaman respons pelayan ditanamkan dengan kod skrip hasad penyerang Penyerang boleh menggunakan kod skrip hasad ini untuk melakukan serangan seperti rampasan sesi. Skrip merentas tapak secara amnya dibahagikan kepada jenis reflektif dan berterusan: skrip merentas tapak reflektif berlaku apabila data permintaan diberikan tidak dikodkan dan tidak ditapis dalam halaman respons pelayan berterusan merujuk kepada data permintaan yang mengandungi kod berniat jahat Ia disimpan pada pelayan Aplikasi web. Setiap kali pengguna melawat halaman tertentu, kod berniat jahat akan dilaksanakan secara automatik. Terdapat dua cara utama untuk menangani skrip merentas tapak: pertama, jangan mempercayai sebarang input pengguna dan cuba gunakan teknologi senarai putih untuk mengesahkan parameter input kedua, melarikan diri daripada kandungan yang disediakan oleh pengguna semasa mengeluarkan;

Tetapi kurang diketahui bahawa terdapat jenis ketiga kerentanan skrip merentas tapak. Pada tahun 2005, Amit Klein menerbitkan kertas putih "Skrip Silang Tapak Berasaskan DOM atau XSS Jenis Ketiga" ("Skrip Silang Tapak Berasaskan DOM atau XSS Jenis Ketiga"), yang mendedahkan skrip merentas tapak berasaskan DOM kandungan tidak perlu bergantung pada respons sebelah pelayan Jika sesetengah halaman HTML menggunakan atribut elemen DOM seperti document.location, document.URL atau document.referer, penyerang boleh menggunakan atribut ini untuk menanam skrip berniat jahat untuk melaksanakan DOM-. rujukan silang berdasarkan serangan skrip tapak.

Di bawah ini kami akan menunjukkan prinsip skrip merentas tapak berasaskan DOM melalui halaman HTML yang sangat mudah. Katakan terdapat halaman HTML statik (ditunjukkan dalam Penyenaraian 1) yang memaparkan mesej mengalu-alukan pengguna untuk log masuk yang berjaya.

Senarai 1. Kod HTML dengan XSS berasaskan DOM

<HTML>
<TITLE>Welcome!</TITLE>
Hi
<SCRIPT>
 var pos=document.URL.indexOf("name=")+5;
 document.write(document.URL.substring(pos,document.URL.length));
</SCRIPT>
<BR>
Welcome to our system
…
</HTML>
Salin selepas log masuk

按照该页面 JavaScript 代码逻辑,它会接受 URL 中传入的 name 参数并展示欢迎信息,如清单 2 所示:

清单 2. 正常情况下的访问 URL

http://www.vulnerable.site/welcome.html?name=Jeremy

但如果恶意攻击者输入类似如下的脚本,见清单 3,该页面则会执行被注入的 JavaScript 脚本。

清单 3. 访问 URL 中注入脚本

http://www.vulnerable.site/welcome.html?name=

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

8 plugin susun atur halaman jquery yang menakjubkan 8 plugin susun atur halaman jquery yang menakjubkan Mar 06, 2025 am 12:48 AM

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Bina Aplikasi Web Ajax anda sendiri Bina Aplikasi Web Ajax anda sendiri Mar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

10 JQuery Fun and Games Plugin 10 JQuery Fun and Games Plugin Mar 08, 2025 am 12:42 AM

10 Plugin Permainan JQuery yang menyeronokkan untuk menjadikan laman web anda lebih menarik dan meningkatkan keletihan pengguna! Walaupun Flash masih merupakan perisian terbaik untuk membangunkan permainan web kasual, jQuery juga boleh menghasilkan kesan yang mengejutkan, dan walaupun tidak setanding dengan permainan flash aksi tulen, dalam beberapa kes, anda juga boleh bersenang -senang di penyemak imbas anda. permainan jquery tic toe "Hello World" pengaturcaraan permainan kini mempunyai versi jQuery. Kod sumber JQuery Game Composition Crazy Word Ini adalah permainan mengisi kosong, dan ia dapat menghasilkan beberapa hasil yang pelik kerana tidak mengetahui konteks perkataan. Kod sumber JQuery Mine Sweeping Game

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Kandungan kotak beban secara dinamik menggunakan ajax Kandungan kotak beban secara dinamik menggunakan ajax Mar 06, 2025 am 01:07 AM

Tutorial ini menunjukkan membuat kotak halaman dinamik yang dimuatkan melalui AJAX, membolehkan Refresh Instant tanpa tambah nilai halaman penuh. Ia memanfaatkan JQuery dan JavaScript. Fikirkannya sebagai loader kotak kandungan gaya Facebook tersuai. Konsep Utama: Ajax dan JQuery

JQuery Parallax Tutorial - Latar Belakang Header Animasi JQuery Parallax Tutorial - Latar Belakang Header Animasi Mar 08, 2025 am 12:39 AM

Tutorial ini menunjukkan cara membuat kesan latar belakang paralaks yang menawan menggunakan jQuery. Kami akan membina sepanduk header dengan imej berlapis yang mewujudkan kedalaman visual yang menakjubkan. Plugin yang dikemas kini berfungsi dengan JQuery 1.6.4 dan kemudian. Muat turun

Cara Menulis Perpustakaan Sesi Kurang Kuki Untuk JavaScript Cara Menulis Perpustakaan Sesi Kurang Kuki Untuk JavaScript Mar 06, 2025 am 01:18 AM

Perpustakaan JavaScript ini memanfaatkan Window.Name Property untuk menguruskan data sesi tanpa bergantung pada kuki. Ia menawarkan penyelesaian yang mantap untuk menyimpan dan mengambil pembolehubah sesi di seluruh pelayar. Perpustakaan menyediakan tiga kaedah teras: sesi

See all articles