Kamis, 25 Desember 2008

XSS dan Pencegahannya

Nih Gwe COpy-paste..
Posted in Hacking on April 12, 2008 by maspur

XSS alias cross site scripting adalah salah satu teknik penyerangan terhadap website yang lemah. Kenapa namanya XSS ? Bukan CSS ? Jawabannya, karna CSS lebih dikenal sebagi cascading style sheet (kalo ga tau CSS tanya ama Wikipedia). Contoh serangan XSS ya itu lho, serangan Mas Dhani Ahmad (Xnuxer) terhadap website KPU 2004 silam. Pada dasarnya, penyerangan XSS dilakukan dengan memasukkan tag-tag HTML ke website korban. Contohnya, guestbook. Jadi skenarionya gini neh, sang attacker mengunjungi website yang lemah, terus mengisi guestbook yang kurang lebih begini:


Hello !





Kira-kira apa yang terjadi ? Yupz, halaman guestbook korban, tanpa berpikir panjang akan langsung beralih ke hacked.htm yang udah dipersiapkan attacker. Oh… gitu, berarti XSS gak bahaya dong, tinggal dihapus aja kan entry guestbook yang bermasalah. Jawbannya: nggak juga, serangan kayak gini mah ga seberapa. Tinggal dimatiin javascript-nya, dan semua yang dikerjain attacker akan sia-sia. Seberapa parah serangan XSS ini tergantung kreatifitas kamu, mulai dari cuma ngeganggu, sampe pencurian password + deface.

Lantas, gimana dong cara mencegahnya ? Gak susah kok, seperti biasa, yang diperlukan hanyalah usaha + kemauan. Kalo website kamu menggunakan PHP, maka ada function sederhana yang gunanya untuk menghilangkan tag HTML pada suatu string. OK, dari pada bingung mending kita liat code-nya.


[sourcecode]

$sebelum=”

Hi ! Apa kabar ?
“;
$sesudah=strip_tags($sebelum);

echo “Sebelum: $sebelum”;
echo “
Sesudah: $sesudah”;

?>

[/sourcecode]Dengan menggunakan code seperti di atas, string $sebelum yang berisikan tag HTML disanitasikan dengan perntah strip_tags(), sehingga menjadi string biasa tanpa tag Dengan Javascript pun bisa kok. Kurang lebih begini code-nya:

[sourcecode]
function strip_tags( str ){
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// * example 1: strip_tags(’Kevin van Zonneveld’);
// * returns 1: ‘Kevin van Zonneveld’

return str.replace(/]+>/gi, ”);
}
[/sourcecode]OK, sekian dulu yach… Semoga bermanfaat.

Source>> http://www.hadoitz.co.nr

Tidak ada komentar: