Apa itu XSS (Cross Site Scripting), Jenis dan Cara Menghindarinya

Teknatekno.com – Hai Teknozen! Kamu tau apa itu XSS? Cross Site Scripting (XSS) merupakan salah satu jenis serangan cyber berbahaya. Serangan ini mengeksploitasi kerentanan XSS untuk mencuri data, mengendalikan sesi pengguna, menjalankan kode jahat, atau digunakan sebagai bagian dari serangan phishing.

Serangan Cross Site Scripting (XSS) juga pernah terjadi pada platform populer seperti Facebook, Google, dan Paypal. Meskipun kerentanan Cross Site Scripting (XSS) termasuk dalam jenis serangan cyber berbahaya, namun dari sebagian besar korban tidak menyadari bahwa mereka sedang diserang.

Bahkan Cross Site Scripting (XSS) ini masuk ke dalam daftar top 10 kerentanan OWASP (Open Web Application Security Project), yang bahayanya tidak bisa di ragukan lagi.

Mengenal Apa itu XSS

Cross Site Scripting (XSS) adalah salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs.

Serangan ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini antara lain penyerang bisa mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.

Dalam arti lain, Cross-Site Scripting (XSS) adalah sebuah kerentanan keamanan yang umum terjadi pada aplikasi web. Dalam XSS, penyerang memasukkan kode berbahaya, biasanya dalam bentuk skrip (script), ke dalam halaman web atau aplikasi web yang nantinya akan dieksekusi oleh peramban web (browser) pengguna.

Kode berbahaya ini akan dianggap sebagai bagian dari halaman web yang sah, sehingga bisa merusak integritas dan keamanan situs web serta mencuri informasi sensitif dari pengguna.

XSS sering kali terjadi karena aplikasi web tidak memvalidasi atau menyaring input yang diterima dari pengguna sebelum menampilkannya di halaman web. Ini memungkinkan penyerang untuk menyisipkan kode berbahaya, seperti JavaScript, ke dalam input yang kemudian akan ditampilkan kepada pengguna lain.

Ketika pengguna lain mengunjungi halaman tersebut, peramban mereka akan mengeksekusi kode berbahaya tersebut, yang dapat melakukan berbagai tindakan jahat.

Mengenal Apa itu XSS (Cross Site Scripting), Jenis dan Cara Menghindarinya

Jenis Serangan Cross Site Scripting

Serangan Cross Site Scripting (XSS) adalah kerentanan keamanan web yang memungkinkan penyerang untuk menyisipkan skrip berbahaya ke dalam halaman web yang dilihat oleh pengguna lain. Jenis XSS attack dapat dibedakan menjadi tiga kategori utama, diantaranya sebagai berikut:

1. Reflected XSS (XSS Terpantul)

Reflected XSS terjadi ketika skrip berbahaya disisipkan dalam permintaan HTTP, seperti URL. Contohnya, seorang penyerang dapat membuat tautan dengan skrip berbahaya dan mengirimkannya kepada pengguna yang tidak curiga melalui email atau media sosial. Ketika pengguna mengklik tautan tersebut, data yang dikirimkan ke server akan mencakup skrip tersebut.

Kemudian, server mengembalikan halaman yang mencakup skrip, dan peramban pengguna secara otomatis menjalankannya. Ini bisa menjadi ancaman serius karena skrip dapat mengakses data pengguna, seperti cookie sesi, yang dapat digunakan untuk akses tak sah.

2. Stored XSS (XSS Tersimpan)

Pada jenis serangan XSS yang tersimpan, skrip berbahaya disisipkan ke dalam basis data situs web, biasanya dalam bentuk komentar, pesan, atau entri lain yang dapat diakses oleh pengguna lain. Ketika pengguna mengakses halaman yang mengandung data yang mengandung skrip tersebut, skrip tersebut akan dieksekusi di peramban pengguna.

Ini berarti bahwa serangan XSS ini bisa terjadi berulang kali setiap kali halaman tersebut dimuat oleh pengguna lain. Penyerang dapat menggunakan teknik ini untuk mencuri informasi sensitif, seperti kata sandi atau sesi pengguna.

3. DOM-based XSS (XSS Berbasis DOM)

Serangan XSS berbasis DOM terjadi ketika skrip berbahaya memanipulasi struktur DOM (Document Object Model) sebuah halaman web setelah halaman tersebut dimuat di peramban pengguna. Ini terjadi di sisi klien dan tidak melibatkan server. Penyerang biasanya memanfaatkan skrip yang dijalankan oleh peramban untuk memanipulasi elemen halaman web.

Serangan ini dapat terjadi dalam situasi di mana situs web mengandalkan perubahan DOM yang dikendalikan oleh data yang tidak aman yang berasal dari URL atau input pengguna.

Selain ketiga jenis utama tersebut, ada juga variasi lain dari serangan XSS, termasuk Blind XSS (XSS Buta) dan Self-XSS (XSS Diri). Blind XSS terjadi ketika hasil eksekusi skrip berbahaya tidak langsung terlihat oleh penyerang, sementara Self-XSS melibatkan manipulasi pengguna agar mereka secara tidak sadar menjalankan serangan XSS pada diri mereka sendiri.

Jenis-Jenis Serangan Cross Site Scripting

Cara Kerja Cross Site Scripting (XSS)

Cross Site Scripting (XSS) adalah kerentanan keamanan yang memungkinkan penyerang menyisipkan skrip berbahaya ke dalam halaman web yang dilihat oleh pengguna lain. Untuk lebih memahami cara kerja XSS, mari kita jelaskan langkah-langkahnya secara rinci:

1. Injeksi Skrip (Script Injection)

Penyerang pertama-tama mencari celah atau input yang tidak divalidasi pada suatu halaman web yang dapat dieksploitasi. Mereka menyisipkan skrip berbahaya, yang biasanya berupa kode JavaScript, ke dalam input tersebut. Skrip ini dapat disisipkan dalam berbagai cara, seperti melalui kolom komentar, formulir, atau parameter URL.

2. Penyampaian Skrip (Script Delivery)

Halaman web yang terinfeksi akan menerima input yang mengandung skrip berbahaya dari penyerang. Skrip berbahaya ini kemudian disimpan di server atau disampaikan langsung kepada pengguna yang mengakses halaman tersebut.

3. Eksekusi Skrip (Script Execution)

Ketika pengguna membuka halaman web yang terinfeksi, skrip berbahaya tersebut dieksekusi oleh browser mereka. Ini berarti bahwa kode JavaScript jahat dapat berjalan di dalam konteks situs web yang sah.

4. Dampak Serangan (Impact of Attack)

Dari sini, penyerang dapat melakukan berbagai tindakan jahat, seperti mencuri kuki sesi pengguna, mengubah konten halaman web, atau mengarahkan pengguna ke situs web palsu untuk mencuri informasi pribadi. Semua tindakan ini terjadi tanpa sepengetahuan atau izin pengguna yang sah, dan itulah yang membuat serangan XSS sangat berbahaya.

Penting untuk diingat bahwa penyerang memanfaatkan kurangnya validasi input atau ketidakamanan dalam pengkodean web untuk mencapai tujuannya. Oleh karena itu, langkah-langkah perlindungan seperti validasi input, penggunaan Content Security Policy (CSP), dan sanitasi data sangat penting untuk mencegah serangan XSS yang merusak.

Cara Kerja Cross Site Scripting (XSS) dan Cara Menghindarinya

Cara Mencegah Serangan Cross Site Scripting (XSS)

Ada tiga cara yang bisa kamu lakukan untuk mencegah serangan XSS, diantaranya:

1. Filtering

Dengan mewaspadai karakter-karakter khusus, seperti:

    • Terletak pada isi dari elemen blok level
      • “<” : pembuka sebuah tag
      • “&”: penanda sebuah entitas
      • “>”
    • Terletak di dalam nilai suatu atribut
      • diapit tanda petik ganda
      • diapit dengan petik tunggal
      • tanpa diapit tanda petik
      • “&” dengan conjunction
    • Terletak pada URL
      • Spasi, tabulasi dan pindah baris sebagai penanda akhir dari suatu URL
      • “&” menandai suatu entitas, atau batas parameter CGI
      • Karakter yang bukan ASCII : tidak ada karakter non-ASCII di URL
    • “%”
    • Terletak di antara <SCRIPT> dengan </SCRIPT> : titik koma, tanda kurung, kurung kurawal dan ganti garis.
    • Terletak di dalam server side script yang akan mengkonversikan tanda seru di input menjadi tanda petik ganda di output.

2. Validasi

Teknik ini dilakukan untuk menjamin hanya input yang tepat yang akan dipilih.

3. Encoding

Dengan melakukan encoding, data kamu tidak akan hilang, meskipun pengkodean karakter yang dinilai membahayakan.

Kesimpulan

Cross Site Scripting (XSS) adalah salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs.

Nah, itulah penjelasan dari Teknatekno mengenai apa itu XSS, mulai dari pengertiannya, jenis-jenis XSS hingga cara menghindari XSS. Semoga bermanfaat!

Hai Saya schoirunn aktif menulis dan berkontribusi dalam berbagai media massa, seperti surat kabar sekolah, website, dan media sosial. Saya juga pernah mengikuti pelatihan jurnalistik dan magang di salah satu media nasional, yang membuat saya semakin memahami bagaimana dunia jurnalistik bekerja. Selain menulis, saya juga senang memotret dan merekam video. Saya percaya bahwa gambar dan video dapat memberikan dampak yang kuat dalam menyampaikan sebuah cerita. Sebagai seorang jurnalis muda, saya berkomitmen untuk selalu memperbaiki keterampilan saya dalam menulis, mencari sumber, dan melakukan wawancara yang berkualitas.

You might also like