Apa Itu Cross-Site Scripting (XSS) ? - Blog Rizki M Farhan
Skip to content Skip to sidebar Skip to footer

Apa Itu Cross-Site Scripting (XSS) ?

Apa Itu Cross-Site Scripting (XSS) ?

Apa Itu XSS ?

Pengertian 

XSS adalah singkatan dari Cross-Site Scripting (XSS), yang merupakan serangan keamanan pada aplikasi web. Dalam serangan XSS, penyerang menyisipkan skrip berbahaya (script) ke dalam halaman web yang diakses oleh pengguna lain. Skrip ini kemudian dijalankan oleh peramban web pengguna yang mengakses halaman tersebut, memungkinkan penyerang untuk melakukan berbagai aksi berbahaya, seperti mencuri informasi pengguna, mengubah tampilan halaman, atau mengalihkan pengguna ke situs web palsu. XSS (Cross Site Scripting) merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lain ke suatu situs. 

Pada dasarnya, XSS terjadi ketika aplikasi web tidak memvalidasi atau membersihkan input pengguna dengan benar sebelum menampilkannya kembali kepada pengguna lain. Ini memungkinkan penyerang untuk memanfaatkan kerentanan tersebut dengan menyisipkan kode JavaScript atau HTML yang berbahaya, yang kemudian dieksekusi di peramban pengguna yang terpengaruh. Ada beberapa jenis XSS, termasuk :

1. XSS Reflected (Non-Persistent XSS) :

  • Skrip berbahaya disisipkan dalam parameter URL atau formulir, dan kemudian disalin kembali (reflected) ke halaman web dalam respons server keoada pengguna.
  • Umumnya, serangan ini membutuhkan tindakan pengguna seperti mengklik tautan atau mengirim formulir yang mengandung skrip berbahaya.
  • Reflected XSS adalah serangan jenis XSS ini dapat berakibat pada pengguna yang sudah di infkesi dengan kode berbahaya ini bisa mendapatkan informasi data - data penting dari pengguna lain, yang dapat digunakan untuk kejahatan dalam metode Teknik Social Engineering.
  • Contoh : Seorang penyerang mengirimkan tautan yang mengandung skrip berbahaya melalui email kepada korban. Saat korban mengklik tautan tersebut, skrip tersebut dieksekusi oleh peramban dan menyebabkan kerusakan atau pencurian informasi. 

2. XSS Stored (Persistent XSS) :

  • Stored XSS terjadi ketika skrip berbahaya disimpan secara permanen di server atau database aplikasi web. Skrip ini kemudian disajikan kepada pengguna setiap kali halaman yang terpengaruh dimuat. 
  • Skrip berbahaya disisipkan langsung ke dalam database atau penyimpanan server dan kemudian disajikan kepada setiap pengguna yang mengakses halaman yang terpengaruh.
  • Serangan ini lebih berbahaya karena dapat memengaruhi banyak pengguna tanpa memerlukan tindakan pengguna tertentu.
  • Stored XSS adalah serangan jenis XSS yang dapat berakibat pada seluruh pengguna untuk memasukkan data dan menyimpan di server target, seperti database, forum pesan, visitor log dan lain - lain. 
  • Contoh : Seorang penyerang menyisipkan skrip berbahaya di dalam kolom komentar sebuah forum atau situs web sosial. Setiap kali pengguna melihat komentar tersebut, skrip berbahaya dieksekusi oleh peramban mereka. 

3. XSS DOM-based :

  • Skrip berbahaya disisipkan dalam sisi klien (browser) dengan menggunakan JavaScript yang dimodifikasi oleh penyerang.
  • Serangan ini terjadi saat skrip berbahaya dieksekusi oleh peramban di sisi klien tanpa perantaraan server.
  • DOM-based XSS terjadi saat skrip berbahaya dieksekusi di sisi klien (peramban pengguna) dengan memanfaatkan manipulasi pada struktur dokumen (Document Object Model) dalam JavaScript.
  • Contoh : Seorang penyerang membuat tautan yang mengandung skrip berbahaya, dan skrip tersebut dieksekusi saat halaman web dijalankan di peramban pengguna.
  • Serangan jenis XSS ini untuk memanipulasi data Document Object Model dengan cara memasukkan payload pada halaman sebuah web.

4. Reflected File Download (RFD) :

  • RFD adalah bentuk serangan XSS yang mengeksploitasi kepercayaan pengguna terhadap tautan unduhan file.
  • Contoh: Seorang penyerang menciptakan tautan yang menampilkan nama file yang menarik (seperti "discount_coupon.pdf"), namun tautan sebenarnya mengarah ke skrip yang dieksekusi oleh peramban pengguna untuk mencuri informasi atau menjalankan aksi berbahaya.

5. Client-side Template Injection (CSTI) :

  • CSTI terjadi ketika serangan XSS melibatkan penyisipan skrip berbahaya ke dalam template klien (client-side).
  • Contoh : Seorang penyerang memanfaatkan kerentanan di dalam framework JavaScript, seperti AngularJS, untuk menyisipkan skrip berbahaya ke dalam template klien yang kemudian dieksekusi oleh peramban pengguna.
Penjelasan pengertian tentang XSS meliputi : 
  1. Penyisipan Skrip Berbahaya : Penyerang menyisipkan skrip berbahaya ke dalam halaman web atau aplikasi web yang kemudian dieksekusi oleh peramban pengguna. 
  2. Sumber Kerentanan : XSS dapat terjadi karena kurangnya validasi atau sanitasi input pengguna yang masuk ke dalam aplikasi web. Ini dapat terjadi di bidang pencarian, formulir, atau parameter URL. 
  3. Jenis XSS : Ada beberapa jenis XSS, termasuk Reflected XSS, Stored XSS, dan DOM-based XSS, yang masing-masing memiliki cara kerja dan dampak yang berbeda. 
  4. Dampak : Serangan XSS dapat memiliki dampak yang serius, seperti pencurian informasi pengguna, manipulasi tampilan halaman web, pengalihan pengguna ke situs web palsu, atau serangan phishing.Penjelasan pengertian tentang XSS meliputi : 
Setiap jenis XSS memiliki cara kerja dan konsekuensi yang berbeda-beda. Penting untuk memahami jenis-jenis XSS ini agar pengembang aplikasi web dapat mengidentifikasi dan mengatasi kerentanan keamanan dengan tepat guna melindungi pengguna dan data sensitif dari serangan XSS. Serangan XSS dapat memiliki dampak serius, termasuk pencurian informasi sensitif seperti kata sandi atau sesi pengguna, manipulasi tampilan halaman web, atau pengalihan pengguna ke situs web palsu atau berbahaya. Untuk mencegah serangan XSS, perlu dilakukan sanitasi data input, penggunaan header HTTP yang tepat, serta penggunaan teknik perlindungan lainnya seperti Content Security Policy (CSP).  

Kesimpulan :

Cross Site Scripting (XSS) adalah serangan keamanan web yang terjadi ketika penyerang menyisipkan skrip berbahaya ke dalam kode aplikasi atau situs web tepercaya. Serangan ini dapat terjadi ketika situs web tidak memvalidasi atau menyaring input yang diterima dari pengguna

Rizki M Farhan
Rizki M Farhan Saya adalah seorang penulis konten artikel untuk belajar yang membahas Teknologi Layanan Pendidikan Internet.