Apa Itu XSS?
Cross Site Scripting atau disingkat XSS adalah bentuk serangan berupa code injection dengan menanamkan javascript atau client script code berbahaya di website. Serangan ini sering terjadi pada website-website besar. Seperti yang dialami oleh website ternama, seperti Facebook, Google dan PayPal.
Tujuan utamanya adalah untuk mengambil data penting yang berasal dari user. Jenis serangan ini dilakukan cara mengambil cookie dari user atau bisa juga mengirimkan program yang dapat merusak user yang mana seolah-olah penyebabnya ada di website tersebut.
Sebagian besar, pemilik website tidak mengetahui bila website-nya terkena serangan XSS. Bila serangan ini terjadi, maka tidak hanya berbahaya bagi user, tetapi juga dari sisi developer website.
Hal ini karena user bisa saja beranggapan bahwa kode berbahaya tersebut sengaja dibuat oleh web developer. Namun, kenyataanya tidak demikian. Tentunya ini memberikan dampak yang buruk terhadap kepercayaan user terhadap website tersebut.
Cara Kerja
Kemampuan dalam membobol keamanan website atau aplikasi ini bukanlah dilakukan sembarang orang, melainkan oleh hacker.
Serangan Cross Site Scripting ini dilakukan dengan mengeksekusi skrip berbahaya di browser korban yang mana dilakukan dengan cara memasukkan kode berbahaya ke halaman website atau aplikasi yang sah. Sebagian besar, serangan yang terjadi memakai JavaScript, ActiveX, VBScript, Flash, dan sebagainya.
Selanjutnya, hacker akan mencoba menghubungi korban melalui form kolom komentar sampai message boards dengan meng-upload link yang membuat script berbahaya. Saat korban meng-klik link tersebut, script mulai menyerang dan menyamar sebagai korban. Dengan cara ini, hacker bisa mengetahui data-data penting milik korban.
Jenis XSS
Berikut ini beberapa jenis Cross Site Scripting.
-
Stored XSS (Persistent XSS)
Persistent XSS atau stored merupakan jenis XSS yang paling berbahaya dan merusak jika dibandingkan dengan yang lain. Hal ini karena script tersebut akan disimpan permanen di server target. Artinya adalah serangan tersebut bersifat permanen.
Hacker biasanya mengirim link khusus, lalu mengarahkan user atau korban agar tidak curiga ke halaman yang rentan.
Prosesnya adalah hacker membuat script berbahaya di dalam command input dan meng-upload. Selanjutnya, koran mengakses command page tersebut. Website menampilkan script berbahaya dalam respon. Kemudian, browser korban menjalankan script berbahaya dan mengirimkan cookie ke servernya hacker.
-
Reflected XSS (Non-persistent XSS)
Reflected XSS atau XSS tidak permanen merupakan jenis Cross Site Scripting yang bisa hilang jika Anda melakukan refresh pada halaman tersebut. Hacker menggunakan teknik social engineering supaya content yang telah terinfeksi dengan script berbahaya ini bisa diklik oleh user. Selanjutnya, hacker akan memperoleh data penting dari user lain yang bisa digunakan untuk melakukan kejahatan lain.
Prosesnya adalah hacker membuat URL yang berisi script/code berbahaya. Hacker akan meminta korban membuka URL tersebut. Website menampilkan script/code berbahaya dalam response. Selanjutnya, browser korban menjalankan script/code berbahaya dan mengirikam cookie ke servernya hacker.
-
Dom-Based XSS
Dom-based XSS adalah serangan yang terjadi apabila web aplikasi menulis data ke Document Object Modal (DOM) tanpa memakai sanitasi yang tepat. Hacker dapat memanipulasi data tersebut untuk memasukkan content Cross Site Scripting pada halaman website, contohnya kode JavaScript.
Cara Mencegah XSS
Ini dia beberapa cara yang bisa dilakukan untuk mencegah serangan XSS, antara lain:
-
Periksa Keamanan Situs
Anda sebaiknya memastikan bahwa halaman tidak mendukung tag yang diinginkan, seperti filtering, validasi sampai encoding. Anda bisa menggunakan vulnerability scanner, seperti Sucuri atau VirusTotal untuk menganalisis keamanan situs. Cara ini dilakukan untuk mengetahui tingkat keamanan dan keretanan keamanan dari website tersebut. Nah, bagi user, ketahui 10 cara menjaga keamanan digital.
-
Cross Boundaries Policy
Cross Boundaries Policy merupakan upaya dari pemilik website dengan meminta user untuk memasukkan informasi login sebagai bentuk otentikasi. Untuk mengamankan data user, pemilik website dapat mengatur ulang dan meminta user untuk memasukkan kode rahasia pada halaman website tertentu.
-
Security Development Lifecycle (SDL)
Melalui menambahkan SDL, aplikasi website bisa membatasi jumlah kesalahan coding dan pelanggaran keamanan. SDL juga berperan untuk membantu mengembangkan perangkat lunak yang aman dan terhindar dari serangan Cross Site Scripting.
Itulah ulasan mengenai XSS. Jika Anda membutuhkan jasa SEO, niftyseo pilihan yang tepat.
Author: Uswatun Hasanah