Jumat, 10 Mei 2013

XSS




XSS (Cross Site Scripting)
xss merupakan salah satu jenis serangan injeksi kode yang digunakan oleh penyerang dengan cara memasukan kode HTML atau client script code lainnya ke suatu situs. Serangan ini seolah-olah datang dari situs tersebut. Akibat dari serangan xss penyerang dapat mem-bypass kemanan di sisi klien, mendapatkan informasi sensitif, atau menyimmpan aplikasi berbahaya.
tipe dari xss adalah
a. reflected xss
b. stored xss

Reflectif xss 
      Reflectif xss dimana penyerang menggunakan social engineering agar tautan dengan kode berbahaya ini di klik oleh pengguna.dengan cara ini penyerang dapat mendapatkan cookie pengguna yang selanjutnya bisa digunakan untuk membajak session pengguna.
cara untuk menghadapi serangan ini adalah dengan melakukan validasi input sebelum menampilkan data apapun yang di generate oleh pengguna dan jangan percayai hal apapun data yang dikirim oleh pengguna.

Stored XSS
      Serangan Stored XSS dapat berakibat ke seluruh pengguna. Hal ini terjadi saat pengguna diizinkan untuk memasuki data yang akan ditampilkan kembali. Contohnya pada buku tamu dll dimana penyerang memasukan kode HTML pada postingan mereka.
untuk menghadapi serangan ini sama halnya dengan reflectif XSS jika pengguna diijikan memasuki data lakukan validasi sebelum disimpan pada aplikasi.

Serangan XSS
    Masuknya XSS disebabkan karena kurangnya validasi input user sebelum diserahkan kepada sistem klien. XSS mengacu pada daerah aman dimana user menyimpan data yang berhubungan dengan website tersebut dengan menambahkan link yang baru yang tidak disadari oleh pengembang website, didalam link tersebut terdapat script program yang digunakan untuk mengakses informasi yang berkaitan dengan web tersebut. Serangan XSS tidak mengambil akses system dalam server melainkan hanya mendapatkan informasi yang berkaitan dengan aplikasi web yang digunakan.

secara singkat dapat dijelaskan bahwa xss menyerag denga beberapa proses yaitu:

  1. Penyerang melakukan investigasi pada situs yang memerlukan hak akses, dan mencuri melalui cookies  atau ID session.
  2. penyerang menemukan titik rawan pada halaman situs.
  3. penyerang membuat link khusu dan menempelkan melalui email HTML yang dikirimkan ke korban.
  4. link tersebut berisi kode khusus untuk mengirimkan salinan cookies korban ke penyerang.
  5. dan tanpa sepengetahuan korban penyerang mendapatkan informasi milik pengunjung situs target.
  6. dengan memanfaatkan informasi yang diperoleh penyerang mengekploitasi situs target.
Metode Serangan
     Metode serangan XSS dengan cara manual dan otomatis.
- Metode secara manual dapat diilustrasikan sebagai berikut:

keterangan :
      Pengguna aplikasi web mengakses aplikasi web yang menjadi target serangan, selanjutnya penyerang menyebarkan serangan XSS dengan memanfaatkan e-mail ataupun web, kemudian pengguna aplikasi web memakan umpan serangan XSS. Informasi dari pengguna diinjeksi ke server lain untuk diolah. Penyerang membajak sesi koneksi pengguna ke aplikasi web dan mengeksploitasi aplikasi web.

- Metode Otomatis

 Metode serangan mengalami perubahan sesuai dengan perubahan protokol HTTP, saat HTTP 1.0 digunakan banyak dilakukan serangan dengan cara 3 metode yaitu get, post dan flash
dimana jika metode get digunakan unutk mengakat URL dan menangkap cookies.biasanya kesalahan dilakukan karena tidak adanya validasi pada masukan dari pengguna web.
kemudian metode post salah satu metode yang sulit karena diperlukan variabel post dikirimkan secara terpisah dengan URL website target.
metode flash, seiring kehadiran dan perkembangan web dinamis memberikan kemudahan bagi pengguna untuk memanfaatkan aplikasi flash yang disisipkan pada sistem. Disisi lain kehadiran XSS telah mulai diantisipasi sehingga keamanan dengan menapis HTML ataupun kode lain yang memungkinkan XSS dapat terjadi. Dalam aplikasi flash juga di kenal dengan Scripting, yaitu dengan memanfaatkan active scripting pada aplikasi flash, XSS dapat disisipkan pada bagian signature dari aplikasi tersebut. Dan hal ini mengakibatkan aplikasi flash yang disisipkan menjadi rawan serangan XSS. Dan untuk mengatasi kerawanan tersebut pihak adobe telah menambahkan plug in ke aplikasi tersebut.

Pencegahan XSS

  • Untuk pengguna atau user solusi termudah adalah dengan cara mematikan kode script yang ada pada komputer, akan tetapi hal ini menyebabkan berberapa fungsionalitas dari site yang sedang dikunjungi tidak berjalan. Alternatif lain adalah dengan berhati-hati dalam mengunjungi suatu situs, terutama pada source URL nya.
  • Untuk pengembang website, pengembang perlu menyelaraskan antisipasi pengamanan sebagaimana dietapkan oleh kebutuhan bisnis. Dengan memastikan bahwa halaman yang membangkitkan konten secara dinamis tidak mengandung tag yang tidak diinginkan.
  • Filtering yaitu menapis masukan dari klienn browser dengan mewaspadai karakter khusus.
  • Endcoding adalah mengkodekan karakter yang dianggap bahaya, sebagai contoh karakter "<" akan di kodekan ke dalam karakter "&" walaupun akan namak di user sebagai karakter "<" tetapi tidak akan diterjemahkan oleh aplikasi klien sebagai penanda awal dari tag HTML.
  • Validasi adalah sebuah taknik yanga akan menjamin input yang tepat yang akan dipilih.

http://br.paume.itb.ac.id/courses/ec7010/2005/setyorini-report.doc