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
Contoh Kode JS rentan :
Cara Kerja DOM-based XSS
- Penyerang menyuntikkan kode: Penyerang menyuntikkan kode berbahaya ke dalam URL atau formulir di situs web yang sah.
- Kode diubah menjadi DOM: Kode berbahaya diubah menjadi DOM oleh browser.
- DOM dieksekusi oleh browser: DOM yang berisi kode berbahaya dieksekusi oleh browser.
- Kode berbahaya dieksekusi: Kode berbahaya dieksekusi oleh browser, sehingga dapat melakukan aksi yang tidak diinginkan.
- Pencurian data: Penyerang dapat mencuri data pengguna seperti username, password, atau informasi kartu kredit.
- Perubahan password: Penyerang dapat mengubah password pengguna sehingga pengguna tidak dapat mengakses akunnya.
- Instalasi malware: Penyerang dapat menginstal malware pada perangkat pengguna.
- Validasi input: Validasi input pengguna untuk memastikan bahwa input tidak mengandung kode berbahaya.
- Penggunaan karakter escape: Penggunaan karakter escape untuk memastikan bahwa kode tidak dieksekusi oleh browser.
- Penggunaan Content Security Policy (CSP): Penggunaan CSP untuk membatasi kode yang dapat dieksekusi oleh browser.
- 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.
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.