Pengertian XSS Dan Cara Mengatasi Bug XSS

XSS merupakan kependekan yang digunakan untuk istilah cross site scripting.
XSS merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs. Serangan ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini antara lain penyerang dapat mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.



Menurut pengertian diatas XSS merupakan Bug/Vulnerability yang sangat berbahaya karena bug ini bisa digunakan untuk berbagai macam kejahatan seperti :

  • Menyebarkan Virus. 
  • Mencuri Password/Data sensitif pengguna ( Phising ) 
  • Merusak SEO ( Search Engine Optimiziation ) Pada Website. 
  • Bahkan merusak reputasi web anda, apalagi jika web anda adalah web e-commerce.
Pada umumnya XSS ( Cross-Site Scripting ) menyerang pada website melalui :
  • Forms/Input. Seperti Kolom Pencarian, Komentar, Login, Pendaftaran.

Pada artikel ini saya akan memberitahu bagaimana cara menghindari/mengatasi/memperbaiki bug XSS ( Cross-Site Scripting ) pada PHP.
XSS ini disebabkan oleh tidak adanya filter/penyaringan pada kode PHP, berikut contoh kode PHP yang Vulnerable terhadap bug XSS :




<?php $komentar = $_POST['komentar']; // "<script>alert('bug xss');</script>" echo $komentar; // browser memberi sebuah alert/dialog 'bug xss'. ?>







Kode diatas sangat ( telanjang ) sekali menurut saya karena tidak ada filter/konversi pada saat pengambilan data ( echo $komentar; ), pengguna/penyerang bisa saja dengan leluasa menyisipkan sebuah kode jahat berupa javascript/iframe



Untuk Memperbaiki bug tersebut maka diperlukan tambahan pada kode PHP nya seperti htmlspecialchars($string, ENT_QUOTES), sehingga kodenya menjadi seperti ini :


<?php $komentar = $_POST['komentar']; // <script>alert('bug xss');</script> echo htmlspecialchars($komentar, ENT_QUOTES); //browser tidak memberi sebuah alert/dialog 'bug xss'. //lantas dikonvert menjadi kode HTML entities. ?>






Kode PHP/browser akan menampilkan output/kode yang telah dimasukkan
/sisipkan oleh pengguna/penyerang, tidak mengeksekusinya.
Sekarang website PHP anda aman terhadap serangan/bug XSS ini, Semoga bermanfaat. :-)

Terimakasih : http://blog.rianul.com/







EmoticonEmoticon