Salah satu bug/ kelemahan pada website adalah XSS, bug ini memang sudah agak lama? Tapi masih saja ada web yang memilikinya. Bug XSS adalah suatu kelemahan yang terdapat pada website yang tidak dilengkapi dengan filter. untuk lebih jelasnya perhatikan contoh link dibawah ini:
http://xxx.com/?option=com_content=&id=60&ktg=xss_bug
coba perhatikan karakter setelah tanda tanya “?” pada link diatas, berikut penjelasannya:
- option=com_content
Option, adalah variabel yang isinya adalah com_content - & (maksudnya dan )
- id=60
Id, variabel yang isinya adalah 60 - ktg=xss_bug
ktg, variabel yang isinya adalah xss_bug
Karakter setelah tanda tanya “?” dan sebelah kirinya samadengan “=” adalah nama variabel.( saya anggap anda sudah mengerti tentang variabel). Variabel ini bertugas menyampaikan keinginan (permintaan) user(pengunjung website) kepada Program (website tersebut).
Variabel yang digunakan umumnya ada 2 macam:
Variabel Dalam Program
variabel yang berkerja dari dalam program (tidak muncul kepermukaan)
Variabel Dalam Program
variabel yang berkerja dari dalam program (tidak muncul kepermukaan)
- Variabel Luar Program
variabel yang berkerja di luar program (tapi masih berhubungan dengan dalam program)
variabel yang digunakan kali ini bisa dikategorikan variabel luar. Contohnya seperti variabel diatas tadi (option, id dan ktg).
variabel ktg menyimpan nilai xss_bug, variabel ini akan dikirim ke program karena akan diproses untuk memberikan permintaan user. (saya harap anda paham dengan keterangan ini, bila masih bingung coba perhatikan listing di bawah ini!).
variabel ktg menyimpan nilai xss_bug, variabel ini akan dikirim ke program karena akan diproses untuk memberikan permintaan user. (saya harap anda paham dengan keterangan ini, bila masih bingung coba perhatikan listing di bawah ini!).
<html> <head> <title> Contoh Bug XSS </title> </head> <body> <form name="form1" action="" method="post"> <input type="text" name="q"> <input type="submit" name="kirim" value="kirim" > </form> <?php if ($kirim) { echo $q; } ?> </body> </html> |
simpan script diatas dengan nama form.php kemudian jalankan pada browser yang sudah terpasang server php kemudian coba anda ketikan "<h1>XSS_BUG</h1>" (tanpa petik) kemudian klik tombol kirim. lihat bagaimana hasilnya!
<h1>XSS_BUG</h1>
|
kirim
|
Akan anda lihat hasil di browser menampilkan tulisan :
XSS_BUG
seperti inilah xss terjadi, xss terjadi karena program web tersebut tidak dilengkapi filter tag-tag html ataupun javascript. Lantas bagaimana menangani bug ini??
Tanpa basa-basi mari kita pelajari bagaimana cara menangani bug XSS dalam program web kita. Berdasarkan contoh diatas tadi , dapat saya simpulkan bahwa XSS terjadi karena program web tidak dilengkapi Filter Tags HTML ataupun Javascript. Jadi untuk menangani bug ini kita cukup memberikan filter pada program web kita.
Caranya :
Dalam PHP sendiri terdapat beberapa fungsi untuk mengganti karakter, diantaranya terdapat: ereg_replace(), eregi_replace(), str_replace(), dll
Anda bisa menggunakan fungsi replce yang mana saja, kali ini saya akan memberikan contoh dengan menggunakan ereg_regplace()
Dalam PHP sendiri terdapat beberapa fungsi untuk mengganti karakter, diantaranya terdapat: ereg_replace(), eregi_replace(), str_replace(), dll
Anda bisa menggunakan fungsi replce yang mana saja, kali ini saya akan memberikan contoh dengan menggunakan ereg_regplace()
<html> <head> <title> Contoh Bug XSS </title> </head><body> <form name="form1" action="" method="post"> <input type="text" name="q"> <input type="submit" name="kirim" value="kirim" > </form> <?php if ($kirim) { $q=ereg_replace("<","<",$q); $q=ereg_replace(">",">",$q); echo $q; } ?> </body> </html> |
coba anda lakukan hal yang sama seperti tadi, ketikan <h1>XSS_BUG</h1> pada text box kemudian klik tombol kirim!
pada perubahan kali ini, bagaimana hasilnya?? Akan anda lihat hasilnya sebagai berikut :
<h1>XSS_BUG</h1>
ini artinya bug XSS tidak berhasil. Program telah mengganti string < menjadi < begitu juga > diganti oleh ">"
Karakter “<” (tanpa petik) dalam PHP dibaca sebagai karakter “<”
sedangkan karakter “<” oleh PHP akan dibaca tags HTML atau JavaScript
Saya cukupkan dulu artikel tentang XSS Bug kali ini, Saya harap anda paham dengan artikel ini.
makasih banyak atas penjelasannya..
ReplyDeletesaya jadi pahamm
salam,
http://fajarbaguswp.wordpress.com