Cross site Scripting Attack [XSS]

Ridho Marhaban
3 min readDec 6, 2020

--

XSS adalah kependekan dari Cross-site Scripting merupakan metode menyerang keamanan website dengan menambahkan script pada website website memalui form.
Kalau kita mengisi suatu form kita dapat memasukkan tag script ke dalam form. Mungkin kalau tag script akan diblok oleh aplikasi, tetapi masih ada tag-tag lain yang kita mungkin tidak pikirkan misalnya onload, onclick, windows.location dan lain-lain.

Jenis Jenis XSS :

1. Stored Xss / Persistent Xss Stored XSS adalah serangan xss yang bersifat permanen dan dapat berakibat pada seluruh pengguna. Stored XSS biasanya terjadi saat pengguna diizinkan untuk memasukkan data yang akan ditampilkan kembali. Contohnya adalah pada Message Board, buku tamu, dll. Penyerang memasukkan kode HTML atau Script Code (Payloads) lainnya pada postingan mereka

2. Reflected Xss / Non Persistent Xss Reflected XSS adalah jenis XSS yang tidak permanen, XSS tipe ini akan hilang apa bila dilakukan refresh atau semacamnya. Xss jenis ini paling sering dan mudah ditemukan oleh penyerang. Penyerang menggunakan tekhnik Social Engineering agar konten yang sudah di infeksi dengan kode berbahaya ini diklik oleh pengguna lain, kemudian penyerang bisa mendapatkan data-data penting dan sensitif dari pengguna lain, yang selanjutnya dapat digunakan untuk kejahatan lainya. biasannya xss tipe ini dibuat dengan merekayasa url

3. Blind Xss adalah kerentanan xss yang penyerang sendiri tidak mengetahui kemana dan oleh siapa payload xss tersebut diterima. Hal ini terjadi karena payload yang digunakan dikirim ke sistem dan hanya dapat dibaca oleh beberapa orang dengan hak khusus. biasanya xss tipe ini ditemui pada form masukan yang hanya dapat dibaca oleh admin

4. Self Xss hampir sama dengan Reflected Xss namun bedanya xss jenis ini memerlukan proses yang urut dan hanya berdampak pada diri sendiri. Xss tipe ini biasanya dipadukan dengan clickjacking pada penggunaannya. Biasanya xss jenis ini diremukan pada form upload.

Impact :

  1. Pencurian Cookie Memanfaatkan Document.cooki
  2. Redirect Evil Site
  3. Serangan Dos Pada website
  4. Phising dengan Javascript

Solusi atau cara mencegah XSS

Di PHP sudah ada fungsi yang dapat mencegah serangan XSS yaitu htmlspecialchars() namun tidaklah cukup untuk melakukan escaping. Akan lebih baik jika DevITs memblok input yang berupa tag script atau tag images Validasi Data. Memberi filter pada karakter yang di-inputkan pengguna. Escaping. Ada bermacam – macam bentuk XSS sesuai dengan dampak dan cara kerja yang dilakukan sehingga untuk pencegahannya cukup beragam juga. Mulai dari penggunaan “global_xss_filtering” pada framework CI yang lama namun saat ini sudah tidak ada lagi. Mungkin pihak developer Codeigniter sudah mengetahui bahwa permasalahan XSS adalah di output bukan pada inputannya. Salah satu cara lain untuk mencegah serangan XSS juga sudah ada dalam fungsi PHP, yakni menggunakan htmlspecialchars(), namun untuk melakukan escaping juga tidaklah cukup. Bisa juga dilakukan dengan cara memblok semua input yang berupa script tag atau image source. Lakukan pengamanan juga terhadap Cpanel anda karena hal ini menjadi kunci utama masuknya XSS. Langkah pertama dalam pencegahan serangan ini adalah Validasi input. Semuanya, yang dimasukkan oleh pengguna harus divalidasi dengan tepat, karena input pengguna dapat ditampilkan kembali di bagian output. Validasi data dapat dinamakan sebagai dasar untuk memastikan keamanan sistem. Memvalidasi inputan pengguna mungkin hanya membantu mengurangi risiko, tetapi mungkin tidak cukup untuk mencegah kemungkinan kerentanan XSS.

Cara kerja serangan XSS :

Setelah memahami apa yang dimaksud XSS maka selanjutnya adalah mengerti cara kerja XSS. Gambaran umum mengenai cara kerja XSS sebenarnya cukup simpel, oleh karena itu banyak developer yang juga menyepelekannya. Namun ketika sudah dipublish dan kecolongan maka dampak yang ditimbulkan sangatlah besar, tidak hanya user bahkan ke server juga. Pihak hacker atau penyerang terlebih dahulu berusaha mencari celah keamanan suatu website.

--

--