Daftar Isi:
Definisi - Apa yang dimaksud dengan XSS Hole?
Lubang XSS adalah aplikasi Web yang menyajikan konten dinamis kepada pengguna dengan kerentanan keamanan komputer. Aplikasi ini adalah skrip lintas situs (XSS), dan memungkinkan penyerang untuk mengeksploitasi data rahasia pengguna tanpa melewati mekanisme kontrol akses seperti kebijakan asal yang sama. Cacat ini lebih tepat dikenal sebagai lubang XSS.
Techopedia menjelaskan XSS Hole
Misalnya, pengguna dapat menemukan hyperlink di aplikasi Web yang menunjuk ke beberapa konten berbahaya. Pengguna dapat mengklik tautan dan diarahkan ke halaman lain yang berisi beberapa atau buletin email. Halaman ini mengumpulkan informasi pengguna dalam bentuk kata sandi. Ini juga menghasilkan halaman keluaran berbahaya yang menunjukkan beberapa respons palsu yang dirancang agar tampak asli bagi pengguna. Entah data yang dimasukkan oleh pengguna dapat disalahgunakan atau sesi pengguna dapat dibajak oleh pencurian cookie. Berdasarkan sensitivitas data yang dikumpulkan, skrip lintas situs dapat berkisar dari sekadar kerentanan hingga celah keamanan serius. Setelah eksploitasi kerentanan XSS, penyerang dapat melewati kebijakan kontrol akses organisasi.
Konsep skrip lintas situs didasarkan pada kebijakan asli yang sama. Kebijakan asli yang sama menyatakan bahwa browser Web yang menggunakan JavaScript dapat mengakses berbagai properti dan metode milik situs yang sama tanpa batasan apa pun. Penyerang jahat dapat mengeksploitasi konsep kebijakan asli yang sama dengan menyuntikkan kode berbahaya ke situs web menggunakan JavaScript. Ketika halaman web dilihat oleh pengguna, penyerang dapat mengumpulkan beberapa informasi pengguna yang berguna seperti nama pengguna atau kata sandi.
Sesuai statistik yang dikumpulkan oleh Symantec pada 2007, scripting lintas situs menyumbang 80 persen dari semua serangan keamanan yang dilakukan menggunakan komputer. Ada tiga jenis skrip lintas situs:
- Non-Persistent XSS: Jenis scripting lintas-situs non-persisten terlihat selama permintaan HTTP di mana klien menanamkan data ke dalam permintaan HTTP. Ketika server menggunakan data yang dikirim oleh klien untuk menghasilkan halaman, lubang XSS dapat aktif jika permintaan belum dibersihkan dengan benar. Halaman HTML terdiri dari konten dan presentasi. Jika pengguna jahat menambahkan beberapa konten yang belum divalidasi, maka injeksi markup terjadi. Pengguna akan membahayakan keamanannya dengan memasukkan informasi yang diminta oleh kode berbahaya. Penyerang dapat menyesatkan pengguna ke URL yang berbeda, yang mungkin mengandung virus yang lebih canggih dan memperoleh informasi pengguna yang penting.
- XSS Persisten: Konten berbahaya yang disuntikkan oleh penyerang disimpan di sisi server dan semua permintaan klien selanjutnya mengakses konten yang dimodifikasi, sehingga menimbulkan risiko keamanan yang serius. Sebagai contoh, beberapa forum memungkinkan pengguna untuk mengirim pesan berformat HTML. Oleh karena itu, penyerang dapat menyematkan kode JavaScript untuk menyajikan kotak teks berbahaya untuk mengumpulkan informasi seperti kata sandi. Penyerang juga dapat mengkonfigurasi kode JavaScript untuk menyimpan dan mengirimkan setiap kata sandi yang dimasukkan dalam bidang teks.
- Berbasis XSS DOM: Model objek dokumen (DOM) adalah struktur pohon yang mewakili semua tag yang muncul dalam dokumen yang sesuai dengan standar XML. DOM digunakan dalam JavaScript untuk mengakses dan memanipulasi tag HTML dan konten di dalam tag. Seorang penyerang dapat menyuntikkan sepotong kode JavaScript berbahaya yang berisi pernyataan DOM yang sesuai untuk mengakses dan mengubah informasi pengguna yang penting. Misalnya, penyerang dapat menggunakan DOM untuk mengarahkan kembali informasi pengguna dengan pengiriman yang tidak tepat ke situs web jahat pihak ketiga.
