Lewati ke konten utama
menjadi.dev
Security

XSS (Cross-Site Scripting)

Serangan menyisipkan malicious script ke website untuk dieksekusi di browser user.

XSS adalah serangan client-side di mana attacker menyisipkan malicious script (biasanya JavaScript) ke dalam website yang trusted. Script berjalan di browser user dengan privileges dari website tersebut — bisa mencuri cookies, session tokens, keylog input, atau melakukan action atas nama user. Jenis XSS: Stored XSS (script disimpan di database — paling berbahaya karena affect semua user yang mengunjungi page), Reflected XSS (script di URL — biasanya via phishing link), dan DOM-based XSS (script memanipulasi DOM client-side tanpa melalui server). Mitigasi: Escape Output (jangan render user input sebagai HTML), Content Security Policy (CSP), DOMPurify (sanitize HTML), HttpOnly Cookie (cookie tidak bisa diakses JavaScript).

Contoh Kode

// ❌ VULNERABLE: Directly rendering user input
document.innerHTML = userInput;

// ✅ SAFE: Escaping with textContent
element.textContent = userInput;

// ✅ SAFE: Sanitizing HTML with DOMPurify
import DOMPurify from 'dompurify';
const clean = DOMPurify.sanitize(dirtyHtml);

Istilah Terkait