XSS (cross site scripting)

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.
Alasan kependekan yang digunakan XSS bukan CSS karena CSS sudah digunakan untuk cascade style sheet. Berikut ini ada contoh script sederhana bagaimana bug ini bisa terjadi. Buat file cari.php yang berisi kode berikut :
Code :

Hasilnya Adalah :

Jadi penjelasan kode diatas adalah ketika kita menginputkan nilai apa aja maka aksi/langkah berikutnya adalah menuju hasil.php.
Sekarang bandingkan dengan hasil.php yang berisi kode berikut.
Code:

Nah penjelasan kode diatas adalah ketika kita menginput sesuatu di cari.php maka variabel yang terdapat pada textbox yang bernama cari akan diambil / ditangkap oleh hasil.php lalu akan ditampilkan nilai $cari. Maka hasilnya adalah :

kemudian hasil yang ditampilkan:

Ketika kita menginput dengan menambahkan tag-tag html maka hasilnya adalah

kemudian hasil yang ditampilkan setelah disisipi oleh tag html

Untuk mengetahui cara kerja XSS injection dapat dilihat pada gambar berikut.

Hampir sama dengan SQL injection, XSS injection juga bekerja melalui form masukan. Namun tidak seperti SQL injection, XSS injection ini bertujuan untuk mengelabui client lain yang membuka halaman yang sama dengan halaman yang sudah dijelajahi oleh penyerang dengan mengambil keuntungan misalnya mendapatkan cookie korban. Cookie bertujuan agar pengguna dapat membuka jendela baru tanpa memasukkan user name dan password lagi.
Elemen penting dari keberhasilan XSS injection adalah social engineering yang baik dari penyerang. Social engineering yang dimaksud adalah bagaimana penyerang membujuk calon korban untuk mengikuti sebuah link yang di dalamnya mengandung kode “jahat” untuk memperoleh informasi penting yang dimiliki oleh calon korban contohnya cookie.
Untuk Antisipasi
Pencegahan Cross site scripting sebenarnya merupakan bagian dari proses perancangan sistem yang akan diluncurkan oleh penyedia data. Jika sistem tersebut menggunakan teknologi dynamic web page, berbagai pertimbangan perlu dilakukan.

1. Teknologi Static Web Pages
Cara terbaik dan efektif untuk menghindari terjadinya Cross site scripting adalah menghindari penggunaan teknologi dynamic web page. Halaman yang statis tentu saja memberikan kontrol yang lebih di sisi server dibandingkan dengan halaman web yang dinamis. Halaman web yang dihasilkan secara statis akan memberikan kelakukan yang lebih pasti dibandingkan halaman web yang dihasilkan secara dinamis. Konsekuensi yang ditanggung adalah penyedia layanan harus merelakan sifat interaktif yang mungkin diinginkan.

2. Metode POST
Metode POST adalah metode pengirimana data di mana variabel yang dikirimkan tidak disertakan pada link yang digunakan. Metode POST menyembunyikan variabel yang dikirimkan dari pengguna. Metode ini menjamin kode tidak dapat diinjeksikan melalui link yang telah didesain oleh penyerang. Link merupakan satu satunya cara yang dapat digunakan oleh penyerang untuk mengeksploitasi cross site scripting. Oleh karena itu, metode ini ampuh untuk mengatasi cross site scripting. Kekurangan metode ini, pengguna tidak dapat menyimpan link favorit untuk mempermudah navigasi

3. Pengkodean Karakter Spesial pada Link
Untuk men-non aktifkan kode script yang diinjeksikan, kita perlu membuat aplikasi yang mampu mengkodekan karakter tersebut, sehingga karakter tersebut tidak dapat dimengerti oleh browser yang digunakan. Proses pengkodean juga harus mencakup HTML escape code (%hexnumber).
Pemfilteran ini biasanya dilakukan dengan menghilangkan karakter karakter spesial yang penting dalam pengkodean dan juga karakter karakter ekuivalen yang dikodekan. Pengkodean yang biasa digunakan adalah HTML escape
encoding. Tabel di bawah ini menunjukkan karakter tersebut dengan ekuivalen karakter yang telah dikodekan.

4. Hilangkan kemampuan Scripting
Cross site scripting disebabkan keberhasilan penyerang menginjeksi kode pada halaman web yang dihasilkan. Jika kode yang diinjeksikan tersebut tidak dapat diinterpretasikan, halaman web dapat ditampilkan dengan aman. Kekurangan metode ini tentu saja kegagalan fungsi-fungsi yang ditulis dengan mengunakan script untuk bekerja.

5. HTTP-Only Cookie
Metode ini membatasi akses yang dapat dilakukan terhadap cookie. Dengan menggunakan HTTP-only cookie, browser pengguna masih dapat menerima cookie yang dikirimkan oleh penyedia layanan. Namun cookie tidak dapat diakses melalui script yang dieksekusi pada browser pengguna. Jadi script yang diinjeksikan kepada browser pengguna tidak akan dapat melakukan transfer cookie yang ada. Metode ini tersedia pada browser Internet Explorer 6 Service Pack 1. Untuk menggunakan metode, pada kepala HTTP response tambahkan atribut HttpOnly.

6. Ikuti Link Utama
Metode ini ditujukan bagi pengguna layanan yang menggunakan halaman web dinamis. Kebiasaan yang baik utuk mengikuti link yang berasal dari link utama yang disediakan oleh penyedia layanan. Link–link selain daripada link utama sebaiknya dihindari.


…Semoga Bermanfaat… !.Semoga Sukses.! .send komentar ya.




Artikel terkait:

{ 0 komentar... read them below or add one }

Poskan Komentar

terima kasih telah berkunjung sobat.
Silahkan komentar,kritik dan sarannya
setidaknya tegur sapa.heheh