Cross Site Scripting (XSS) merupakan kode HTML atau Client Script yang berdampak pada  penyerangan website. Salah satu jenis serangan yang paling berbahaya dan banyak  ditemukan yaitu pada google, facebook, Amazon, Paypal dan lain sebagainya. Serangan Cross Site Scripting digunakan untuk mencuri cookie, penyebaran malware session hijacking / pembajakan session, dan pembelokkan tujuan / malicious redirects. Penyerangannya dilakukan dengan ‘menyisipkan’ kode script (biasanya JavaScript) ke dalam sebuah situs. Jika situs ini memiliki fitur untuk menampilkan kembali isian form ke web browser, maka kemungkinan akan berhasil.

Contoh

Jika anda memiliki chat box atau comment box, kami sarankan untuk lebih berhati-hati dengan karakter yang diterima oleh input box. Jika anda mencoba memasukkan komen atau pesan pada chat box dengan contoh sebagai berikut

Terdapat juga script yang disisipkan pada tag html, seperti contoh tag emg

Penyerangan dapat juga dengan menambahkan client script untuk redirect website ke web pemilik. Tujuannya yaitu untuk menambah traffic atau backlink ke web penyerang.

Kategori XSS

Terdapat dua kategori pada XSS, yaitu Presistent dan Non-Presistent. Serangan Presistent berdampak permanen karenan script diinjek ke database atau secondary storage, sedangkan serangan Non-Presistent bersifat sementara dan membutuhkan aktivitas sosial kepada calon korban.

Cara mencegah Cross Site Scripting (XSS)

Salah satu cara untuk menghindari Cross Site Scripting yaitu dengan menggunakan fungsi PHP yaitu strip_tags(.) yang berfungsi untuk menghilangkan semua tag HTML atau dengan menggunakan fungsi  htmlentities(.) yang berfungsi mengganti karakter < dan > menjadi &lt; dan &gt;.

Cara mencegah XSS untuk User

Dilakukan dengan mematikan semua bahasa script yang terdapat pada komputer. Hal ini menyebabkan beberapa fungsionalitas pada site yang sedang dikunjungi menjadi tidak berjalan. Cara lain yang dapat anda lakukan yaitu dengan lebih berhati-hati dalam mengunjungi sebuah situs, terutama source URL nya.

Cara mencegah XSS untuk Developer atau suatu Organisasi

Pengembang aplikasi perlu menyelaraskan antisipasi pengamanan sesuai kebutuhan bisnis. Cara yang bisa anda lakukan yaitu dengan memastikan bahwa halaman yang membangkitkan konten secara dinamis tidak mendukung tag yang tidak diinginkan.

Sumber yang umum dijadikan titik masuk yaitu Query string, URL’s dan bagian universal locator, data yang dikirimkan, cookies, data persisten oleh user.

Cara pencegahan yang dapat dilakukan interaksi dengan sisi klien , yaitu dengan:

  1. Filtering

Dengan mewaspadai karakter-karakter khusus, seperti:

  • Terletak pada isi dari elemen blok level
  • “<” : pembuka sebuah tag
  • “&”: penanda sebuah entitas
  • “>”
  • Terletak di dalam nilai suatu atribut
  • di dalam nilai suatu atribut, diapit tanda petik ganda
  • di dalam nilai suatu atribut, diapit dengan petik tunggal
  • di dalam nilai suatu atirbut, tanpa diapit tanda petik
  • “&” dengan conjunction
  • Terletak pada URL
  • spasi, tabulasi dan pindah baris sebagai penanda akhir dari suatu URL
  • “&” menandai suatu entitas, atau batas parameter CGI
  • Karakter yang bukan ASCII : tidak ada karakter non-ASCII di URL
  • “%”:
  • Terletak di antara <SCRIPT> dengan </SCRIPT> : titik koma, tanda kurung, kurung kurawal dan ganti garis.
  • Terletak di dalam server side script yang akan mengkonversikan tanda seru di input menjadi tanda petik ganda di output.
  1. Validasi

Teknik ini dilakukan untuk  menjamin hanya input yang tepat yang akan dipilih.

  1. Encoding

Dengan melakukan encoding, data anda tidak akan hilang, meskipun pengkodean karakter yang dinilai membahayakan.

Pengkodean dapat dilakukan saat data disampaikan kembali ke user.

Diatas merupakan  artikel mengenai Cross Site Scripting (XSS) dan  cara mencegahnya. Semoga artikel ini dapat menambahkan wawasan  dan pengetahuan baru untuk Anda.

Terima Kasih

0 Shares