• Pengertian XSS

    XSS (Cross-Site Scripting)

            XSS (Cross-Site Scripting) adalah jenis serangan keamanan yang memungkinkan penyerang untuk menyuntikkan kode JavaScript atau kode lainnya ke dalam halaman web yang sah, sehingga dapat dieksekusi oleh browser pengguna.

    Jenis-Jenis XSS
    1. Stored XSS: XSS yang disimpan di server dan dapat diakses oleh pengguna lain.
    2. Reflected XSS: XSS yang dikirimkan melalui URL dan dieksekusi oleh browser pengguna.
    3. DOM-based XSS: XSS yang dieksekusi oleh browser pengguna tanpa perlu mengirimkan permintaan ke server.
    Jenis XSS Ciri Utama Terjadi Didalam Contoh Umum
    Stored
    (Persistent)
    Skrip didimpan permanen di
    Server
    Server-side
    (Database, Logs, dsb)
    Forum, Komentar, Profil
    User
    Reflected (Non-
    Persistent)
    Skrip ikut dalam URL dan
    Langsung dipantulkan oleh server
    Server-side (respon
    langsung)
    URL search, form pencarian
    DOM-Based Skrip dijalankan & dimanipulasi di
    sisi klien lewat DOM
    Client-side
    (javaScript di browser)
    JS ambil data dari URL/hash
    dan render langsung


    Cara Kerja XSS
    1. Penyerang menyuntikkan kode: Penyerang menyuntikkan kode JavaScript atau kode lainnya ke dalam halaman web yang sah.
    2. Kode dieksekusi oleh browser: Kode yang disuntikkan dieksekusi oleh browser pengguna.
    3. Pengguna terkena serangan: Pengguna dapat terkena serangan seperti pencurian data, perubahan password, atau instalasi malware.

    Contoh Serangan XSS
    1. Pencurian data: Penyerang dapat mencuri data pengguna seperti username, password, atau informasi kartu kredit.
    2. Perubahan password: Penyerang dapat mengubah password pengguna sehingga pengguna tidak dapat mengakses akunnya.
    3. Instalasi malware: Penyerang dapat menginstal malware pada perangkat pengguna.

    Cara Mencegah XSS
    1. Validasi input: Validasi input pengguna untuk memastikan bahwa input tidak mengandung kode berbahaya.
    2. Penggunaan karakter escape: Penggunaan karakter escape untuk memastikan bahwa kode tidak dieksekusi oleh browser.
    3. Penggunaan Content Security Policy (CSP): Penggunaan CSP untuk membatasi kode yang dapat dieksekusi oleh browser.
    4. Penggunaan HTTPS: Penggunaan HTTPS untuk memastikan bahwa komunikasi antara browser dan server aman.