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.

  1. Ubah input ke huruf kecil dengan toLowerCase(), supaya <SCRIPT> dan <script> sama.
  2. Kembalikan true kalau teksnya berisi <script.
  3. Kembalikan true kalau ada event handler: on, satu huruf atau lebih, lalu = (misalnya onerror=, onload=, onclick=). Regex /on\w+\s*=/ menangkap semuanya.
  4. Kembalikan true kalau teksnya berisi javascript:.
  5. 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