Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS) adalah jenis kerentanan keamanan web yang terjadi saat penyerang berhasil menyuntikkan script JavaScript berbahaya ke dalam website tepercaya, yang kemudian dieksekusi di browser milik pengunjung lain secara tidak sengaja.
1. Analogi Racun di Wadah Air Publik
Bagaimana skenario serangan XSS terjadi di dunia nyata?
2. Tiga Jenis Serangan XSS
Serangan XSS secara umum diklasifikasikan menjadi tiga jenis utama:
- Stored XSS (Persisten): Script jahat disimpan permanen di database server (misalnya di kolom komentar postingan). Setiap kali ada user membuka artikel tersebut, script jahat otomatis berjalan di browser mereka. Ini adalah jenis paling berbahaya.
- Reflected XSS: Script jahat disisipkan di dalam parameter tautan URL palsu. Korban harus terjebak mengklik link tersebut agar script memantul dari server dan berjalan di komputernya.
- DOM-based XSS: Kerentanan murni terjadi di file JavaScript sisi frontend yang membaca input masukan pengguna secara tidak aman tanpa melibatkan database server sama sekali.
3. Teknik Pencegahan: HTML Escaping & Sanitasi
Untuk mencegah XSS, pengembang web wajib melakukan sanitasi ketat pada setiap input pengguna. Salah satu metode utama adalah **HTML Escaping**, yaitu mengubah simbol-simbol khusus HTML menjadi karakter teks aman agar tidak bisa dieksekusi browser sebagai kode:
- Mengubah
<menjadi< - Mengubah
>menjadi> - Menggunakan library sanitasi terpercaya seperti DOMPurify.
Uji Pemahaman Mandiri
Bagaimana cara terbaik bagi pengembang web untuk mencegah celah keamanan Cross-Site Scripting (XSS)?
