Thursday, June 11, 2009

About XSS

Apa itu XSS ?

Mungkin penggunaan teknik Cross Site Scripting (XSS), merupakan teknik yang banyak digunakan bagi keperluan mendapatkan cookie ini. Begitu cookie didapatkan, si penyerang ini akan dapat memuat nilai cookie curian tersebut, lalu mengarahkan browsernya ke situs aplikasi yang menggunakan cookie tersebut, dan mengakses account korban, tanpa perlu menghabiskan waktu untuk memecahkan sandi dan enkripsi atau kombinasi pengguna dan kata sandi. Memang ada beberapa teknik lain seperti teknik DNS poisoning cache, memanfaatkan kelemahan browser di klien dan rekayasa sosial untuk mengelabui pengguna agar menginstal trojan horse, hanya teknik tersebut kurang begitu popular (mungkin karena kurang yang mengetahui atau susah kali yeee….) dibandingkan dengan XSS.



Cross Site Scripting (XSS) memang relatif mudah dipelajari, karena hanya membutuhkan pengetahuan tentang bahasa pemrograman HTML aktif, seperti javascript dan vbscript, lalu ditunjang dengan pikiran kreatif dan pengetahuan tentang browser. XSS juga jenis serangan yang memanfaatkan kelemahan dalam berbagi kepercayaan antara pemilik situs dan pengguna, karenanya, cukup sulit mengetahui apakah sebuah situs telah diserang XSS atau belum.

XSS atau cross-site scripting, merupakan sejenis serangan yang ditujukan ke pengguna lainnya. Serangan ini tidak akan memberikan akses root ataupun system dalam server web, serangan ini hanya berusaha mendapatkan informasi yang berkaitan dengan aplikasi web yang digunakan. Aplikasi web ini dapat berupa aplikasi email berbasiskan web, forum online atau situs e-shopping.

Sebagai contoh sederhana XSS, bayangkan sebuah buku tamu dimana orang-orang dapat berdiskusi tentang tanggapan mereka terhadap sebuah situs, ketika melihat buku tamu tersebut, kita dapat melihat apa yang pengguna sebelumnya komentari tentang situs tersebut, dan kadang kala situs tersebut mengijinkan penggunaan tag HTML, lalu kenapa tidak kita menulis komentar dengan menggunakan huruf ‘comic sans’ dan berwarna merah, sehingga tiap orang dapat melihat komentar kita tersebut. Karena HTML hanyalah sebuah bahasa program script dan browser kita merupakan interpreter untuk hal tersebut. Maka dengan sedikit kreativitas, komentar di buku tamu tadi, kita sisipkan beberapa scrip program rahasia, tentu pengguna lainnya tidak menyadarinya.

Kenapa serangan itu bisa terjadi ?

Memang XSS hadir karena jeleknya pembangunan sebuah situs web. Kita lebih terbiasa dengan keindahan desain dan isi dari situs web kita, tapi tidak cukup peduli dengan rangkaian baris program yang menyusun situs web tersebut, jarang sekali kita melakukan validasi atas broken link atau input yang diberikan oleh user, seperti pada buku tamu di atas - hal yang paling sering digunakan untuk menyisipkan kode curang sang penyerang.

Kesuksesan jenis serangan ini bergantung pada dukungan fungsionalitas di browser klien untuk menginterpretasikan script tersebut, kebanyakan browser web dapat menginterpretasikan embedded script dalam isi HTML.

Bagaimana XSS bekerja?

Serangan XSS berdampak pada ketidaksempurnaan aplikasi berbasis web dan bermuasal pada masukan pengguna (user) yang tidak begitu baik dibersihkan pada penggunaan karakter HTML. Hal ini dapat memungkinkan penyerang menyisipkan kode HTML tambahan dimana mereka dapat mengendalikan eksekusi pada halaman tersebut dibawah izin yang diberikan oleh situs itu sendiri. Sebuah contoh sederhana dari halaman yang dapat digunakan untuk cross site scripting seperti dibawah ini :



Sekali halaman tersebut dapat terakses, variabel tersebut dikirim melalui metode GET langsung menuju halaman yang dituju. Dimana masukan tidak ditandai sebagai variabel masukan, pengguna dapat memasukkan beberapa karakter yang diinterpretasikan sebagai perintah meta karakter, cukup mirip dengan injeksi SQL.

Dengan memasukkan HTML metacharacter memungkinkan keluaran yang tidak diinginkan: Dimana masukan tidak divalidasi terlebih dahulu sebelum keluaran dikirimkan ke browser klien. Hal di atas memberikan pengguna untuk mengendalikan HTML dengan menyisipkan script ke halaman tersebut.

Beberapa titik dimana biasanya XSS terjadi adalah pada halaman konfirmasi (seperti mesin pencari dimana memberikan keluaran dari masukan pengguna dalam aktvitas pencarian).

[b]saya melihat dari tadi ada tulisan cookie sebenarnya itu apa??? kuee???

Cookie adalah berkas yang dibuat oleh sebuah situs Internet untuk menyimpan informasi di dalam komputer anda. Contohnya, pengaturan anda saat mengunjungi situs tersebut. Saat anda mengunjungi situs yang menggunakan cookie, situs mungkin akan meminta browser untuk meletakkan satu cookie atau lebih di dalam harddisk anda.

Ketika anda kembali mengunjungi situs tersebut, Firefox akan mengirimkan kembali cookie milik situs tersebut. Ini memungkinkan situs tersebut untuk menyajikan informasi yang sesuai dengan kebutuhan anda.

Cookie juga dapat digunakan untuk menyimpan informasi identifikasi perseorangan. Informasi identifikasi perseorangan merupakan informasi pribadi yang dapat digunakan untuk mengidentifikasi anda, misalnya nama, alamat email, alamat rumah atau kantor, atau nomor telpon. Namun demikian, patut diperhatikan bahwa situs web hanya memiliki akses ke informasi pribadi yang pernah anda berikan. Sebagai contoh, situs web tidak dapat mengetahui alamat email anda kecuali anda pernah memasukkan alamat email tersebut terlebih dahulu. Selain itu, situs web juga tidak dapat mendapatkan akses ke informasi lain di dalam komputer anda.

Nah bayangkan kalau Anda sedang asik main facebook kemudian seseorang mencuri cookie anda dan (saat itu anda laparr.... ) memakainya untuk login ke facebook anda??? atau cookie dari email anda??? dia bisa saja mengetahaui seluruh password Anda dengan menggunakan bantuan Lupa password...

Jadi XSS hanya bisa mencuri cookie,memasukkan tag html,memunculkan box pesan ???

Baru-baru ini metode serangan XSS telah menggunakan metode TRACE, serangan ini memanfatkan activeX, dimana informasi tentang user dikirimkan melalui TRACE request melalui browser klien, informasi ini juga dapat diubah ke dalam bentuk xml, sehingga klien dan situs web tersebut tidak menyadarinya. Metode ini mampu melewati keamanan HTTP Only.

Dan tidak mungkin metode XSS akan berkembang dan menjadi teknik yang mematikan. Seiring dengan berkembangnya bahasa pemrograman...


source :www.cert.or.id
edited : one-day

No comments: