Cross Site Scripting (XSS)

Cross Site Scripting (XSS) – Pengertian, Cara kerja, Jenis, Dampak, serta Pencegahan nya

Cross Site Scripting (XSS) – Pengertian, Cara kerja, Jenis, Dampak, serta Pencegahan nya – Perkembangan teknologi membuat cyber crime juga semakin marak terjadi, salah satunya adalah keberadaan XSS atau Cross Site Scripting. Tanpa disadari, XSS dapat menyerang beberapa platform besar, seperti Facebook, Google, hingga PayPal. Apa yang membuat XSS begitu berbahaya adalah kemampuannya untuk mengeksekusi skrip pada browser pengguna tanpa sepengetahuan mereka. mereka akan akan mencuri data dari platform-platform tersebut, mengendalikan sesi pengguna, menjalankan kode jahat, atau menggunakannya sebagai bagian dari serangan phishing.

Melalui artikel ini, Anda akan mempelajari apa itu XSS secara lebih mendalam, mulai dari pengertian, cara kerja, tujuan serangan, teknik yang biasa digunakan, dampaknya pada website dan pengguna, hingga cara mencegahnya. Langsung simak penjelasan lengkapnya di bawah ini!

 

Apa itu Cross Site Scripting (XSS)?

Cross site scripting atau serangan XSS merupakan salah satu jenis serangan cyber berbahaya yang terjadi ketika penyerang menyisipkan kode berbahaya dalam bentuk skript ke dalam website. Serangan ini digunakan untuk mencuri data, mengendalikan sesi pengguna, menjalankan kode jahat, atau digunakan sebagai bagian dari serangan phishing.

Seperti yang sudah disebutkan sebelumnya, tujuan utama dari penggunaan XSS yakni untuk mengambil data penting, seperti mengambil cookie dari user atau mengcapture data user. Ketika skrip dieksekusi, informasi sensitif seperti kata sandi, data kartu kredit, atau data yang seharusnya dirahasiakan bisa diakses oleh penyerang.

Namun sebagian besar korban tidak menyadari bahwa mereka sedang diserang karena seakan-akan penyebabnya adalah dari web itu sendiri. Cross site scripting ini juga masuk ke dalam daftar Top 10 kerentanan OWASP (Open Web Application Security Project).

 

Mengapa Serangan XSS Bisa Terjadi?

Serangan XSS terjadi ketika situs web tidak memvalidasi atau menyaring input yang diterima dari pengguna, memungkinkan skrip jahat disisipkan dan dijalankan oleh browser pengguna.

Serangan skript lintas situs dimungkinkan oleh kerentanan keamanan XSS yang disebabkan oleh kelemahan keamanan bawaan dalam bahasa skrip sisi klien seperti JavaScript dan HTML. Dengan menyuntikkan skript sisi klien yang berbahaya ke situs web yang tepercaya, skript XSS lintas situs menipu aplikasi agar mengirimkan kode berbahaya melalui browser, yang meyakini bahwa skript tersebut berasal dari sumber tepercaya. Ia kemudian menipu pengguna dengan memanipulasi skript sehingga skript tersebut dieksekusi sesuai keinginan penyerang.

 

Jenis-jenis dan Teknik Serangan XSS

XSS memiliki beberapa teknik serangan keamanan, hal ini dapat terjadi melalui berbagai teknik yang memanfaatkan celah keamanan dalam pemrosesan input dan eksekusi skript pada situs web. Berikut beberapa jenis dan teknik serangan XSS.

1. Reflected XSS

Serangan Reflected XSS merupkan jenis serangan yang berusaha mencoba memasukan atau menyuntikkan beberapa kode script, dimana kode script disini dapat disimpan di database yang ada dalam situs web, dalam hal ini script yang telah dimasukkan dikembalikan ke server aplikasi pengguna.

2. Stored XSS

Stored XSS melibatkan penyisipan skript berbahaya yang disimpan secara permanen di server atau database situs web. Skript tersebut dijalankan setiap kali pengguna mengakses halaman yang dikunjungnya.

3. DOM-Based XSS

DOM-Based XSS adalah bentuk serangan XSS di mana script berbahaya hadir dalam Document Object Modelalih-alih HTML. Dalam serangan Cross-Site Scripting yang reflected dan stored, kalian dapat melihat payload kerentanan di halaman respons tetapi dalam XSS berbasis DOM, kode sumber HTML dan respons serangan akan persis sama, yaitu payload tidak dapat ditemukan diresponnya. Itu hanya dapat diamati pada saat runtime atau dengan menyelidiki DOM halaman.

 

Cara Kerja Serangan XSS

Serangan skript lintas situs terjadi ketika peretas memanfaatkan validasi aplikasi web yang tidak aman dan praktik pengkodean untuk memasukkan skript berbahaya ke browser korban, yang berpotensi menyebabkan pengambilalihan akun, pengalihan ke situs web berbahaya, atau aktivitas berbahaya lainnya. Jika situs web rentan terhadap serangan XSS, masukan pengguna akan dieksekusi sebagai kode.

Berikut cara peretas membuat dan kemudian menyuntikkan kode berbahaya ke situs web:

1. Pembuatan kode berbahaya: Setelah menemukan situs web yang rentan melalui pemindaian kerentanan , enumerasi subdomain, dan teknik lainnya, penyerang membuat kode berbahaya, biasanya dalam JavaScript, untuk memanfaatkan kelemahan pada situs web target.

2. Injeksi kode: Setelah menyiapkan kode berbahaya, penyerang menyuntikkan nya ke situs web yang rentan dengan memodifikasi skript yang dapat dieksekusi dengan kode berbahaya.

3. Inisiasi serangan: Ketika seseorang mengunjungi situs web yang telah diretas, kode berbahaya secara otomatis dijalankan di browser pengguna tersebut.

4. Pencurian cookie: Saat kode berbahaya dijalankan, kode tersebut dapat mencuri token, cookie, dan data sensitif lainnya dari pengguna.

5. Akses ilegal: Berbekal data yang dicuri, penyerang mendapat akses ke sesi atau akun pengguna tanpa izin.

 

Dampak Serangan XSS

XSS sebagai bentuk serangan keamanan yang merambah sebuah website, memiliki dampak yang signifikan baik pada integritas situs maupun keamanan pengguna. Berikut dampak serangan XSS dari berbagai sisi.

Dampak pada Website

Dampak dari serangan XSS yang berdampak langsung pada situs web yang menjadi korban adalah potensi kerusakan terhadap reputasi dan integritasnya. Serangan XSS dapat memanipulasi tampilan halaman, merusak struktur situs, atau bahkan mengubah konten yang disajikan kepada pengguna.

Selain itu, serangan XSS juga dapat mencuri data sensitif dari situs web, termasuk informasi pengguna dan kredensial akses. Hal ini tidak hanya dapat merugikan pemilik situs web secara finansial, tetapi juga menciptakan ketidakpercayaan di antara pengguna, memengaruhi citra merek, dan menurunkan kepercayaan publik terhadap situs tersebut.

Dampak pada Pengguna

Dampak serangan XSS pada pengguna yang paling nyata adalah risiko kehilangan data pribadi seperti nama pengguna, kata sandi, atau informasi keuangan. Serangan ini dapat dimanfaatkan untuk melakukan tindakan ilegal seperti pencurian identitas atau penyebaran informasi palsu.

Selain itu, penyerang juga dapat menggunakan serangan XSS yang dilakukannya untuk menyebarkan malware atau melakukan serangan phishing. Hal tersebut jelas dapat merugikan pengguna dengan merusak perangkat mereka atau mencuri informasi pribadi mereka.

Dalam konteks ekonomi digital yang makin terintegrasi, dampak pada pengguna juga dapat menghasilkan konsekuensi finansial. Pengguna yang menjadi korban serangan XSS dapat menghadapi kerugian finansial akibat pencurian identitas atau akses ilegal ke akun keuangan mereka. Oleh karena itu, perlindungan terhadap pengguna menjadi prioritas utama dalam upaya pencegahan serangan XSS.

 

Tujuan Serangan XSS

Tujuan utama dari serangan XSS adalah untuk mencuri data sensitif pengguna, seperti informasi login, detail kartu kredit, atau data pribadi lainnya. Dengan mendapatkan akses ke informasi-informasi tersebut, penyerang dapat melakukan berbagai aksi jahat, mulai dari mengambil alih akun pengguna, melakukan transaksi finansial, sampai mencuri identitas. Namun ada beberapa tujuan lain oleh seorang peretas untuk memanfaatkan bug ini, diantaranya adalah:

Melakukan defacement: Defacement adalah tindakan mengubah tampilan halaman web tanpa izin. Dengan XSS, peretas bisa merusak tampilan website, seperti mengubah teks, gambar, atau bahkan struktur halaman.

Melakukan serangan phising: Serangan XSS bisa juga dimanfaatkan untuk melakukan phising, yaitu serangan yang bertujuan untuk mendapatkan data sensitif user melalui penipuan. Cara ini bisa dilakukan misalnya dengan skrip jahat digunakan untuk membuat halaman login palsu yang mirip dengan situs asli.

Menyuntikkan malware: XSS juga bisa dipakai untuk mendistribusikan malware kepada pengguna website yang terinfeksi. Skript jahat yang dimasukkan ke dalam situs dapat digunakan untuk mengunduh dan menjalankan software berbahaya di komputer user.

 

Bagaimana cara Mencegah XSS?

Seperti dijelaskan di atas, serangan XSS terjadi ketika data memasuki aplikasi web melalui sumber yang tidak tepercaya, yang paling sering adalah permintaan web. XSS juga dapat terjadi ketika data disertakan dalam konten dinamis yang dikirim ke pengguna web tanpa divalidasi untuk konten berbahaya.

OWASP telah menerbitkan lembar contekan yang dapat digunakan untuk mencegah serangan XSS. Pedoman keamanan XSS ini berfokus pada tiga strategi pencegahan yaitu meloloskan diri, memvalidasi masukan, dan membersihkan.

Secara umum, pencegahan skrip lintas situs kemungkinan besar melibatkan kombinasi empat langkah keamanan XSS berikut:

1. Filter input pada saat kedatangan: Pada titik di mana input pengguna diterima, filter seketat mungkin berdasarkan input yang diharapkan atau valid.

2. Enkode data pada keluaran: Pada titik di mana data yang dapat dikontrol pengguna dikeluarkan dalam respons HTTP, enkode kan keluaran untuk mencegahnya ditafsirkan sebagai konten aktif. Bergantung pada konteks keluaran, hal ini mungkin memerlukan penerapan kombinasi pengkodean HTML, URL, JavaScript, dan CSS.

3. Gunakan header respons yang sesuai: Untuk mencegah XSS dalam respons HTTP yang tidak dimaksudkan berisi HTML atau JavaScript apa pun, Anda dapat menggunakan header Content-Type dan X-Content-Type-Options untuk memastikan bahwa browser menafsirkan respons sesuai cara anda bermaksud.

4. Gunakan Kebijakan Keamanan Konten: Sebagai garis pertahanan terakhir terhadap penyerang, anda dapat menggunakan Kebijakan Keamanan Konten (CSP) untuk mengurangi tingkat keparahan kerentanan XSS yang masih terjadi.

Dan yang terpenting, jangan pernah menerima kode JavaScript sebenarnya dari sumber yang tidak tepercaya lalu menjalankannya. Itulah dia penjelasan mengenai XSS, jenis-jenisnya, cara kerja serangan, dampak, serta cara pencegahan nya.

Semoga dengan artikel ini dapat menambah wawasan kalian mengenai XSS, serta dapat melindungi situs web agar data dan keamanan tetap terjaga.