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.
Kemudian, mereka akan akan mencuri data dari platform-platform tersebut, mengendalikan sesi pengguna, menjalankan kode jahat, atau menggunakannya sebagai bagian dari serangan phishing. Itu sebabnya, cross site scripting masuk ke dalam daftar OWASP (Open Web Application Security Project).
Supaya kamu dapat menyadari keberadaan XSS dan bagaimana cara kerja serangan tersebut, simak penjelasan lebih lengkapnya pada artikel yang sudah Dark Clown Security rangkum untuk kamu.
Apa itu XSS atau Cross Site Scripting?
XSS adalah eksploitasi keamanan di mana penyerang menempatkan malicious client-end code ke laman web. Serangan ini sudah cukup sering terjadi dalam beberapa tahun terakhir dan kebanyakan serangan ini menyerang website-website besar.
Sebagaimana yang sudah disebutkan sebelumnya, tujuan utama dari penggunaan XSS yakni untuk mengambil data penting, mengambil cookie dari user atau mengirimkan suatu program yang dapat merusak user, namun seakan-akan penyebabnya adalah dari web itu sendiri.
Maka dari itu, kebanyakan serangan XSS ini tidak diketahui langsung oleh si pemilik website. Kondisi ini tentu sangat berbahaya bagi para developer web atau aplikasi karena dapat memberikan kesan buruk terhadap kinerjanya. Terlebih karena para user atau pihak awam beranggapan bahwa pihak developer bisa dengan sengaja membuat code berbahaya tersebut.
Cara Kerja Serangan XSS
Berdasarkan pengertian XSS di atas, dapat diketahui bahwa tujuan dari XSS sangat berbahaya bagi para developer website. Oleh karena itu, penting untuk mengetahui bagaimana cara kerja XSS. Dengan begitu, para developer website dapat mendeteksinya dari awal dan melakukan berbagai macam pencegahan.
Secara sederhana, XSS bekerja dengan mengeksekusi skrip berbahaya di browser korban dengan cara memasukkan kode berbahaya ke halaman web atau web aplikasi yang sah. Umumnya serangan ini dilakukan menggunakan JavaScript, VBScript, ActiveX, Flash, dan bahasa sisi klien lainnya.
Nantinya, penyerang akan menghubungi para korban melalui forum, kolom komentar, hingga message boards dengan mengunggah link untuk membuat skrip yang berbahaya. Ketika korban mengklik link tersebut, skrip mulai menyerang dan menyamar sebagai si korban.
Melalui cara ini, para hacker dapat mengetahui data-data milik korban. Supaya kamu mudah memahami cara kerja XSS, berikut gambaran tentang cara kerja serangan XSS:
Jenis-Jenis Serangan XSS
Dalam penerapannya, ada berbagai macam jenis-jenis serangan XSS, mulai dari persistent, non-persistent, hingga dom-based XSS. Untuk lebih jelas, berikut pengertian dari masing-masing jenis serangan XSS, yaitu:
Persistent XSS atau Stored XSS
Persistent XSS (Stored) adalah jenis yang paling merusak dari segala jenis XSS yang lainnya. Dalam persistent XSS, skrip tersebut akan disimpan secara permanen di server target, seperti database, forum pesan, dan lain sebagainya. Berikut proses penyerangan persistent XSS, di antaranya:
- Penyerang membuat kode atau skrip berbahaya di dalam command input dan mengunggahnya.
- Kemudian, korban mengakses page comment tersebut.
- Website mendisplay kode/skrip berbahaya dalam respons.
- Browser korban mulai menjalankan kode/skrip berbahaya dan mengirimkan cookie ke server penyerang.
Non-persistent XSS
Non-persistent XSS adalah serangan yang bekerja dengan menyisipkan code di url. Berikut langkah-langkah serangan non-persistent XSS, di antaranya:
- Penyerang membuat URL yang mengandung kode/skrip berbahaya di dalamnya.
- Penyerang menipu korban agar membuka URL tersebut.
- Website menunjukkan kode/skrip berbahaya dalam response.
- Browser korban mulai menjalankan kode/skrip berbahaya dan mengirimkan cookie ke server penyerang.
Cara Mencegah XSS
Usai memahami bagaimana cara kerja XSS, kamu dapat melakukan berbagai langkah atau strategi untuk mencegah serangan XSS, seperti analisis keamanan situs, menambahkan SDL, mengadopsi crossing boundaries policy, dan lain sebagainya. Berikut cara-cara mencegah XSS yang dapat dilakukan.
Periksa keamanan situs
Untuk menjaga keamanan aplikasi website yang dimiliki, kamu perlu untuk memastikan bahwa halaman yang membangkitkan konten secara dinamis tidak mendukung tag yang tidak diinginkan, seperti filtering, validasi, hingga encoding.
Tidak hanya itu, pemilik situs website dapat menggunakan website vulnerability scanner, seperti Sucuri atau VirusTotal untuk menganalisis keamanan situs. Dengan melakukan metode ini, pemilik situs website dapat mengetahui informasi lengkap tentang kelemahan dan kerentanan keamanan yang ada di dalam situs tersebut.
Mengadopsi Crossing Boundaries Policy
Adanya crossing boundaries policy memungkinkan pengguna untuk memasukkan informasi login sebagai bentuk otentikasi. Tidak hanya itu, pemilik situs website juga dapat mengatur ulang dan meminta pengguna untuk memasukkan kredensial mereka pada halaman website tertentu.
Menambahkan SDL
SDL adalah kepanjangan dari Security Development Lifecycle. Dengan menambahkan SDL, aplikasi web dapat membatasi jumlah kesalahan coding dan pelanggaran keamanan. Tidak hanya itu, SDL juga bisa membantu pengembang untuk membangun perangkat lunak yang aman dan terhindar dari serangan XSS.
Kesimpulan
XSS (Cross Site Scripting) adalah eksploitasi keamanan di mana penyerang menempatkan malicious client-end code ke laman web. Tujuan dari serangan XSS adalah mengambil data penting, mengambil cookie dari user atau mengirimkan suatu program yang dapat merusak user, namun seakan-akan penyebabnya adalah dari web itu sendiri.
Untuk mencegah serangan XSS, pemilik website dapat melakukan pengamanan situs menggunakan website vulnerability scanner, seperti Sucuri atau VirusTotal dan cyber security
You are welcome to share your ideas with us in comments!