Digital Transformation

XSS (Cross-Site Scripting)

Vito Atmo
Vito Atmo·28 Agustus 2026·2 kali dibaca·3 min baca

XSS (Cross-Site Scripting) adalah serangan yang menyisipkan kode JavaScript berbahaya ke halaman web tepercaya. Browser korban menjalankannya seolah berasal dari situs asli, sehingga cookie sesi, token, dan data form dapat dicuri. Tiga variannya adalah stored, reflected, dan DOM-based. Mitigasi utamanya: output encoding, validasi input di server, dan Content Security Policy yang ketat.

Apa itu XSS?

XSS terjadi ketika aplikasi menerima data dari pengguna lalu menampilkannya kembali tanpa pembersihan yang memadai, sehingga skrip yang disisipkan ikut dieksekusi browser. Skrip itu berjalan dengan hak akses domain situs target, jadi ia bisa membaca cookie, mengambil token, atau mengirim permintaan atas nama pengguna.

Dalam audit yang dilakukan Vito Atmo untuk klien e-commerce dan LMS, titik masuk yang paling sering ditemukan selalu berulang: kolom komentar, parameter pencarian di URL, dan field profil yang nilainya dirender kembali tanpa encoding.

Tiga Jenis XSS

JenisLokasi payloadContoh kanalTingkat dampak
StoredTersimpan di database serverKomentar artikel, review produkTertinggi, mengenai semua pengunjung halaman
ReflectedDikirim lewat URL atau parameterHalaman hasil pencarianSedang, butuh korban mengklik link
DOM-basedDieksekusi di sisi klien lewat document.location atau innerHTMLSingle-page applicationSedang, sering luput dari scanner server-side

Stored XSS paling berbahaya karena dampaknya beruntun ke setiap pengunjung yang membuka halaman terinfeksi.

Kenapa Penting untuk Pemilik Website Bisnis?

XSS bukan sekadar isu teknis. Konsekuensinya bisa berupa akun admin yang diambil alih, data pelanggan bocor, sampai penandaan oleh Google Safe Browsing yang memutus traffic organik dalam hitungan jam.

Per 2026, OWASP masih menempatkan kelas kerentanan injeksi, termasuk XSS, di jajaran risiko web teratas, posisi yang konsisten dipertahankan sejak daftar OWASP Top 10 versi 2017. Bila dikombinasikan dengan tabnabbing atau clickjacking, kepercayaan visual pengguna makin mudah dieksploitasi.

Pertanyaan Umum

Apakah HTTPS otomatis melindungi dari XSS?

Tidak. HTTPS hanya mengenkripsi jalur transmisi. XSS mengeksploitasi konten yang sudah sampai dan dirender di browser, jadi enkripsi transport tidak relevan sebagai pertahanan.

Apa beda XSS dan CSRF?

XSS menyerang kepercayaan browser terhadap situs, dengan menjalankan skrip asing di domain Anda. CSRF menyerang kepercayaan situs terhadap browser, dengan memanfaatkan sesi login yang sudah aktif. Keduanya butuh mitigasi berbeda.

Pertahanan paling praktis untuk tim non-security?

Gunakan framework yang melakukan escaping secara default (React dan Next.js meng-encode nilai JSX secara otomatis), aktifkan Content Security Policy yang ketat, dan validasi input di sisi server. Hindari dangerouslySetInnerHTML kecuali sumbernya benar-benar terkendali.

Bagikan