• XSS DOM-based

    DOM-based XSS (Cross-Site Scripting)


            DOM-based XSS (Cross-Site Scripting) adalah jenis serangan keamanan yang memungkinkan penyerang untuk menyuntikkan kode berbahaya ke dalam dokumen objek model (DOM) browser, sehingga kode tersebut dapat dieksekusi oleh browser.

    Cara Kerja DOM-based XSS
    1. Penyerang menyuntikkan kode: Penyerang menyuntikkan kode berbahaya ke dalam URL atau formulir di situs web yang sah.
    2. Kode diubah menjadi DOM: Kode berbahaya diubah menjadi DOM oleh browser.
    3. DOM dieksekusi oleh browser: DOM yang berisi kode berbahaya dieksekusi oleh browser.
    4. Kode berbahaya dieksekusi: Kode berbahaya dieksekusi oleh browser, sehingga dapat melakukan aksi yang tidak diinginkan.
    Contoh Serangan DOM-based 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 DOM-based 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.

    Contoh Kode JS rentan :
     
    document.getElementaryById("output").innerHTML = Location.hash;
     
    Contoh Kode DOM-based XSS

    http://example.com/#<script>alert('XSS')</script>

    Kode di atas adalah contoh kode DOM-based XSS yang dapat menyebabkan browser menampilkan pesan "XSS" ketika diakses.