Mengenal XSS (Cross Site Scripting) dan cara mencegahnya

Mengenal XSS (Cross Site Scripting) dan cara mencegahnya

Apa itu XSS?

XSS merupakan kode HTML atau Client Script yang diinjeksikan penyerang pada suatu website. Akibatnya penyerang dapat melewati keamanan di sisi klien, mendapatkan informasi sensitif, dan bahkan menyisipkan aplikasi berbahaya.

Sebagai contoh saja. Kalau DevITs punya chat box atau comment box, DevITs harus berhati-hati dengan karakter yang bisa di terima oleh input box. Jika setelah DevITs coba memasukan komen atau pesan pada chat box dengan contoh script berikut

<script type="text/javascript">javascript:alert('doavers.com');</script>

Ada juga script yang disisipkan di tag html, contohnya tag img, seperti berikut

<img alt="" src="javascript:alert('XSS');" />

Jika berhasil tersimpan dan setelah web page di-reload keluar popup atau alert yang berisikan "doavers.com" (note: kecuali DevITs menonaktifkan Javascript di browser), maka positif web page DevITs rawan dengan serangan XSS.

Penyerang bisa saja menambahkan client script untuk redirect website DevITs ke web milik peyerang untuk menambah trafic atau backlink ke web page penyerang. Ya tentunya tujuan penyerang adalah untuk mengganggu atau mendapatkan keuntungan dari web page DevITs.

 

Kategori XSS

Serangan XSS di kategorikan menjadi dua, yaitu Presistent dan Non-Presistent. Contoh di atas termasuk serangan presistent dikarenakan serangan berdampak permanen karenan script diinjek ke database atau secondary storage. Sedangkan pada serangan Non-Persistent membutuhkan aktifitas social oleh si penyerang kepada calon korban, dan bersifat sementara(tidak permanen), Contohnya ditemukan pada situs Printing Office pemerintahan US. Pengunjung web page baru menyadari ketika pengunjung website mencari halaman melalui kolom pencarian.

 

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

 

Semoga posting ini bermanfaat untuk DevITs sekalian ya..