Latihan 1: XSS (Cross-Site Scripting) Dasar — Security
Latihan 1 dari materi XSS (Cross-Site Scripting) Dasar di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi fungsi detectXSS(input) supaya mengembalikan true kalau input berisi pola XSS, dan false kalau gak. Fungsi ini alarm untuk menandai komentar, bukan pertahanan.
Ubah input ke huruf kecil dengan toLowerCase(), supaya <SCRIPT> dan <script> sama.
Kembalikan true kalau teksnya berisi <script.
Kembalikan true kalau ada event handler: on, satu huruf atau lebih, lalu = (misalnya onerror=, onload=, onclick=). Regex /on\w+\s*=/ menangkap semuanya.
Kembalikan true kalau teksnya berisi javascript:.
Selain itu, kembalikan false.
Tiga baris console.log di kode awal sudah ada, biarkan. Fungsimu diuji dengan lima input ini:
Input
Harus mengembalikan
<script>alert(1)</script>
true
Halo, nama saya Budi
false
<img onerror=alert(1)>
true
<a href=javascript:alert(1)>click</a>
true
<SCRIPT>alert(1)</SCRIPT>
true
Hint
Fungsimu cukup mencari tiga pola di teks: tag script, event handler on...=, dan javascript:. Ketemu salah satu, jawab true. Gak ketemu, jawab false.
Simpan input.toLowerCase() di variabel lower, lalu cek satu per satu: lower.includes("<script"), regex /on\w+\s*=/ dengan .test(lower), dan lower.includes("javascript:"). Taruh return false di paling akhir.
const lower = input.toLowerCase(); if (lower.includes("<script")) return true; if (/on\w+\s*=/.test(lower)) return true; if (lower.includes("javascript:")) return true; return false;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...