Anda di halaman 1dari 9

Deskripsi Cross Site Scripting Stored XSS

XSS merupakan kependekan yang digunakan Stored XSS lebih jarang ditemui dan dampak
untuk istilah Cross Site Scripting. XSS serangannya lebih besar. Sebuah serangan
merupakan salah satu jenis serangan injeksi code stored XSS dapat berakibat pada seluruh
(code injection attack). XSS dilakukan oleh pengguna. Stored XSS terjadi saat pengguna
penyerang dengan cara memasukkan kode HTML diizinkan untuk memasukkan data yang akan
atau client script code lainnya ke suatu situs. ditampilkan kembali. Contohnya adalah
Serangan ini akan seolah-olah datang dari situs pada message board, buku tamu, dll. Penyerang
tersebut. Akibat serangan ini antara lain memasukkan kode HTML atau client script
penyerang dapat mem-bypass keamanan di sisi code lainnya pada posting mereka.
klien, mendapatkan informasi sensitif, atau
menyimpan aplikasi berbahaya. Alasan Serangan ini lebih menakutkan. Mekanisme
kependekan yang digunakan XSS bukan CSS pertahanannya sama dengan reflected XSS: jika
karena CSS sudah digunakan untuk cascade style pengguna diizinkan untuk memasukkan data,
sheet. lakukan validasi sebelum disimpan pada aplikasi.
Contoh penyerangan menggunakan XSS
Tipe XSS (Nama – nama dibawah ini hanya merupakan
 Reflected atau nonpersistent karangan belaka) :
 Stored atau persistent
Reflected XSS 1. Toni sering mengunjungi website Jack, yang di
website tersebut memungkinkan Toni untuk

Reflected XSS merupakan tipe XSS yang paling memasukan username/password dan menyimpan

umum dan yang paling mudah dilakukan oleh data pribadi atau data transaksi yang seharusnya

penyerang. Penyerang menggunakan social tidak boleh diketahui orang lain.

engineering agar tautan dengan kode berbahaya


ini diklik oleh pengguna. Dengan cara ini 2. Rey mengetahui bahwa Toni sering

penyerang bisa mendapatkan cookie pengguna mengunjungi web tersebut, dan lalu mengamati

yang bisa digunakan selanjutnya untuk jika di website buatan Jack terdapat kerentanan

membajak session pengguna. atau celah yang bisa diserang menggunakan


XSS.

Mekanisme pertahanan menghadapi serangan ini


adalah dengan melakukan validasi input sebelum 3. Rey lalu meng-ekplore dan mencoba mencari

menampilkan data apapun yang di-generate oleh celahnya dan membuat script berbahaya dan

pengguna. Jangan percayai apapun data yang kemudian di embed atau dimasukan ke dalam

dikirim oleh pengguna. sbuah URL.


4. Rey lalu mengirim email ke Toni yang berisi link Cross Site Scripting
ke halaman web Jack yang sebenarnya urlnya
sudah di embed script yang berbahaya tersebut. Cross-Site Scripting atau yang lebih dikenal
dengan sebutan XSS merupakan salah satu
5. Ketika Toni click URL tersebut maka Toni akan metode yang di gunakan para attacker untuk
masuk ke dalam website Jack serta script yang menyuntikan kode HTM atau Javascript kedalam
sudah Rey buat akan dijalankan, sehingga Rey sebuah halaman web yang vulnirable terhadap
bisa mengmbil data dari cookies-nya dan bisa XSS. XSS di bagi menjadi dua, Non Persistent
memanfaatkanya. dan Persistent. Xss Non Persistent merupakan
tipe XSS yang paling umum dan yang paling
Deskripsi XSS dalam Network mudah dilakukan. Attacker menggunakan social
engineering agar tautan dengan kode berbahaya
Skema popular dalam hal pencurian cookies pada ini diklik oleh pengguna. sedangkan XSS
jaringan Internet menjadi bagian dalam Persistent ini merupakan tipe XSS yang lebih
kerawanan serangan XSS (Cross-Site Scripting). berbahaya, yang dapat berakibat pada seluruh
Sekali cookie didapatkan, penyerang aktif dapat pengguna. XSS ini terjadi saat pengguna diizinkan
mencuri isi dalam cookie, mengarahkan browser untuk memasukkan data yang akan ditampilkan
pada aplikasi-aplikasi berbasis web (e-mail) dan kembali. Contohnya adalah pada komentar, buku
dapat mengakses account tanpa perlu tamu, dll. Attacker memasukkan kode HTML atau
menghabiskan waktu untuk melakukan cracking Javascript atau code lainnya pada posting
untuk mencari kombinasi username & password mereka. Dengan cara ini attacker bisa
yang cocok. Hal ini membawa implikasi yang mendapatkan cookie pengguna yang bisa
buruk tergantung dengan aplikasi yang sedang digunakan selanjutnya untuk membajak session
dibuka :penyerang dapat membaca surat-surat pengguna.
korbannya, mengakses account di bank dan
menulis check untuk melakukan pembayaran Kerawanan terhadap serangan  XSS disebabkan
secara online atau membeli barang menggunakan oleh buruknya mekanisme validasi input user
cached retail credit information pada situs seperti : sebelum diserahkan kepada sistem klien. Cross-
Amazon & eBay. Untuk dapat melakukan hal ini, Site mengacu pada daerah aman dimana user
seorang penyerang harus mendapatkan sesi menyimpan data ( seperti cookies, atribut konten
pengguna yang masih dalam kondisi aktif. Untuk dinamis, dsb) yang berhubungan dengan situs
itu seorang penyerang yang potensial akan web. Dalam Cross Site Scripting, aplikasi web
memerlukan lubang otorisasi akses pada XSS target diinfeksi dengan menambahkan link baru
dan  CGI pada web server. yang tidak disadari oleh pengembang aplikasi.
Dalam link baru tersebut, terdapat rangkaian script
program yang digunakan untuk mengakses
informasi yang berkaitan dengan web tersebut.
Semua serangan XSS tidak akan mengambil 
akses root ataupun system dalam server web, 4. Link khusus tersebut juga berisi kode
serangan ini hanya berusaha mendapatkan yang didesain khusus untuk
informasi yang berkaitan dengan aplikasi web mengirimkan salinan cookie korban ke
yang digunakan. penyerang
5. Tanpa sepengtahuan korban,
Sebagai contoh sederhana dari XSS, dapat penyerang mendapatkan informasi
digambarkan adanya sebuah buku tamu tempat (cookie) milik pengunjung situs target.
banyak orang dapat berdiskusi tentang tanggapan 6. Dengan memanfaatkan informasi
mereka terhadap sebuah situs. Pada situs tertentu tersebut, penyerang mengeksploitasi
juga menyediakan akses penggunaan tag HTML. situs target.
Dengan HTML, sebuah script bahasa program
dan browser yang merupakan interpreter untuk Anatomi Serangan XSS
scrip tersebut, komentar pada buku tamu dapat Sebuah serangan cross site scripting dilakukan
disisipi script program tentang apapun, tanpa dengan menyediakan alamat khusus yang
disadari oleh pengguna lainnya. XSS hadir dikemas oleh penyerang untuk calon korbannya.
karena  pembangunan sebuah situs web yang Dalam konteks XSS, penyerang mengundang
kurang baik. Keindahan desain dan isi dari situs korbannya untuk mengeksekusi alamat URL yang
web mengabaikan faktor keamanan dari situs diberikan dan membiarkan korban mengikuti link
tersebut. Validasi atas broken link atau input yang tersebut dengan menjalankan script yang
diberikan oleh user, seperti pada buku tamu di sebelumnya beraksi di komputer klien untuk
atas menjadi hal yang paling sering dilupakan, mendapatkan informasi yang diinginkannya.
dan memberikan kesempatan adanya penyisipkan Terdapat tiga hal yang berkait dan dapat disusun
kode curang dari sang penyerang. Jadi secara sebagai sebuah anatomi serangan XSS yaitu
singkat dapat dijelaskan proses penyerangan XSS penemuan, serangan, dan eksploitasi.
sebagai berikut :

1. Penemuan Titik Rawan Aplikasi


1. Penyerang melakukan investigasi
pada situs-situs dimana diperlukan  Serangan XSS berdampak pada
hak akses tertentu, dan mencuri hak ketidaksempurnaan aplikasi berbasis web dan
akses suatu user melalui cookies atau bermuasal pada validasi masukan pengguna
ID sessions. (user) yang tidak begitu baik. Hal ini dapat
2. Penyerang menemukan titik rawan memungkinkan penyerang menyisipkan kode
pada halaman suatu situs. HTML tambahan dimana mereka dapat
3. Penyerang menciptakan link khusus mengendalikan eksekusi pada halaman tersebut
ke suatu situs dan menempelkannya dibawah izin yang diberikan oleh situs itu sendiri. 
dalam suatu email HTML yang Sebuah contoh sederhana dari halaman yang
dikirimkan ke korban potensial.
dapat digunakan untuk cross site scripting  seperti Penyisipan dengan metode GET merupakan cara
dibawah ini : termudah juga sering dijumpai. Karena pengguna
cukup banyak mengerti akan adanya pengarahan
<?php echo “Hello, ulang (redirection) atau adanya pemanggilan
{$HTTP_GET_VARS[‘name’]}!”; ?> alamat lain yang tampak pada tabulasi alamat
(address bar). Metode cukup dilihat pada URI dan
Sekali halaman tersebut dapat terakses, variabel biasanya tercatat di server HTTP. Karena karakter
tersebut dikirim melalui metode GET langsung dari XSS, penyerang tidak dapat secara langsung
menuju halaman yang dituju. Dimana masukan memanfaatkan kerawanan untuk keuntungan
tidak ditandai sebagai variabel masukan, sendiri. Korban mesti melihat kode yang
pengguna dapat memasukkan beberapa karakter disisipkan agar dapat dieksekusi. Dan begitu
yang diinterpretasikan sebagai perintah meta korban melihat kode tersebut,  dan mengeksekusi,
karakter, cukup mirip dengan injeksi SQL. Dengan informasi tentang si korban dapat diketahui oleh si
memasukkan HTML metacharacter penyerang.
memungkinkan keluaran yang tidak diinginkan:
Dimana masukan tidak divalidasi terlebih dahulu Dibanding serangan dengan metode GET, dengan
sebelum keluaran dikirimkan ke browser klien. Hal metode POST sedikit lebih rumit, dimana variabel
di atas memberikan pengguna untuk POST dikirim secara mandiri dari permintaan URI,
mengendalikan HTML dengan menyisipkan script sehingga butuh halaman transisi untuk memaksa
ke halaman tersebut. korban mengeksekusi permintaan POST (POST
request) yang berisi kode XSS. Baru-baru ini
Beberapa titik dimana biasanya XSS terjadi metode serangan XSS telah menggunakan
adalah pada halaman konfirmasi (seperti mesin metode TRACE, serangan ini memanfatkan
pencari dimana memberikan keluaran dari activeX, dimana informasi tentang user dikirimkan
masukan pengguna dalam aktvitas pencarian) dan melalui TRACE request melalui browser klien,
halaman kesalahan (error page) yang membantu informasi ini juga dapat diubah ke dalam bentuk
pengguna dengan mengisi bagian form untuk XML, sehingga klien dan situs web tersebut tidak
memperbaiki kesalahan. menyadarinya. Metode ini mampu melewati
keamanan HTTP Only.
2.  Serangan
3.  Eksploitasi
Sekali masukan rawan teridentifikasi pada metode
HTTP – yang bergantung pada fasilitas protokol Setelah melakukan serangan,  penyerang dapat
HTTP, maka aktivitas serangan dapat dilakukan melakukan eksploitasi atas situs web yang
baik dengan metode GET, POST dan metode menjadi target. Umumnya dilakukan dengan
lainnya. membajak sesi koneksi dari korban dan
melakukan aksi seperti layaknya si korban
mengakses situs web target. Kerugian yang
muncul dapat merugikan situs web itu sendiri
ataupun korban. Setelah eksploitasi ini, sesi
serangan XSS dapat dikatakan telah sempurna.

Kesimpulan
Cross Site Scripting sering kali diabaikan dalam
pembangunan situs web, seiring dengan
pemakaian aplikasi web dinamis. Kerawanan yang
timbul justru mengancam hubungan pengguna
dan pemilik situs web.  Metode serangan XSS
yang digunakan juga berkembang seiring dengan
pengembangan protokol aplikasi web, bahasa
yang digunakan juga berkembang. Karenanya
tidak ada jaminan serangan XSS tidak mengalami
perkembangan.

Ada beberapa saran pengamanan yang cukup


efektif, saran tersebut antara lain :

v Para pengembang web, hendaknya melakukan


pengujian untuk tiap halaman yang dibangun, juga
dilakukan pengecekan ulang untuk tiap masukan
dari pengguna, untuk menghindari celah serangan
XSS.

v Para pengguna aplikasi web dinamis,


hendaknya berhati-hati dalam menggunakan
aplikasi web karena enkripsi dan berlapisnya
firewall bukanlah jaminan bahwa aplikasi web
tersebut aman.
sebagai bahan baca tambahan.
Langsung saja ulasan lengkap mengenai
pengertian XSS beserta cara kerja dan
cara mencegahnya dapat anda simak
dibawah ini:

Pengertian XSS

Pengertian XSS Beserta Cara Kerja dan


Cara Mencegahnya, Yuk Disimak!
Sesuai namanya XSS atau yang
 Fakhri Aziz Firmansyah  Oktober 8, 2019 merupakan singkatan dari Cross Site

Dewasa ini perkembangan dalam Scripting merupakan salah satu bentuk

teknologi pembuatan dan pemanfaatan gangguan berupa Code Injection Attack

website semakin canggih dengan atau serangan injeksi kode.

banyaknya ide – ide baru yang


Penyerang yang merupakan orang luar
dikembangkan. Namun mengikuti hal itu
menyisipkan code – code berbahaya
istilah cyber crime atau kriminalitas
yang biasanya berbentuk Javascript,
dalam dunia cyber (internet) juga
VBScript atau bahkan client script code.
semakin marak.
Maksud dari client script code adalah
Salah satunya adalah dengan
suatu halaman dari web yang ditujukan
keberadaannya XSS atau Cross Site
pada penggunaan user atau client.
Scripting. Sebelum menjelaskan
pengertiannya pasti para pembaca Hal ini dikarenakan memang tujuan
bertanya – tanya mengapa menggunakan utama dari penggunaan XSS adalah
“X” untuk Cross bukannya “C”. Hal ini untuk mengambil data penting,
dikarenakan penggunaan CSS sudah ada mengambil cookie dari user atau
untuk Cascade Style Sheet yang juga mengirimkan suatu program yang dapat
salah satu bagian dari dunia web merusak user namun seakan – akan
programming. penyebabnya adalah dari web itu
sendiri.
Demi menghindari bahaya XSS bagi para
Oleh karena itu meskipun terkesan
developer web atau sebagai referensi
sepele XSS ini sangatlah dikeluhkan
tambahan maka artikel ini kami tulis
oleh para developer web atau aplikasi
yang akan mempublish hasil projectnya. dunia kerja atau sebagai developer anda
Ketika keamanan mereka berhasil menemui hal serupa.
dibobol dan XSS sudah disusupkan maka
Dalam hal ini penulis menganggap
akan sangat sulit diatasi dan lebih
bahwa pihak penyerang yang
merepotkan lagi ketika sudah banyak
menggunakan XSS ini adalah seorang
diakses oleh banyak user. User sebagai
hacker karena memang kemampuan
pihak awam yang paling terkena
dalam membobol keamanan web
dampaknya pasti menganggap pihak
ataupun aplikasi.
developer lah yang membuat code
berbahaya secara sengaja, padahal itu
Gambaran umum mengenai cara kerja
adalah ulah orang luar dengan XSS-nya.
XSS sebenarnya cukup simpel, oleh
karena itu banyak developer yang juga
Cara Kerja XSS
menyepelekannya. Namun ketika sudah
dipublish dan kecolongan maka dampak
yang ditimbulkan sangatlah besar, tidak
hanya user bahkan ke server juga.
Pihak hacker atau penyerang terlebih
dahulu berusaha mencari celah
keamanan suatu website.
Contoh simpelnya adalah dalam file
index atau home mereka menyelipkan
“YOUR WEBSITE GOT HACKED” dengan
menggunakan heading 1. Biasanya para
attacker memerluka wadah berupa
halaman dinamis atau berindeks PHP
dan selanjutnya dimasukkan ke dalam
Setelah memahami apa yang dimaksud
HTML atau Javascript.
XSS maka selanjutnya adalah mengerti
cara kerja XSS. Tujuan penulis memberi
Contoh diatas adalah bagian simpelnya,
ulasan ini bukanlah untuk memberi
yang paling berbahaya adalah ketika
pengetahuan cara menyelipkan justru
attacker mengambil wadah untuk XSS
untuk mengantisipasi ketika dalam
pada bagian file input seperti form
pendaftaran. Pada script PHP biasanya sasaran maka kemungkinan
menggunakan baris code $_GET untuk terdeteksinya XSS akan semakin sulit.
mengirimkan data yang sudah diisi oleh
Ada bermacam – macam bentuk XSS
pengguna ke database server web
sesuai dengan dampak dan cara kerja
tersebut. Namun ketika XSS disusupkan
yang dilakukan sehingga untuk
maka data yang dikirimkan bisa saja
pencegahannya cukup beragam juga.
diredirect ke server miliknya terlebih
Mulai dari penggunaan
dahulu baru masuk ke server yang
“global_xss_filtering” pada framework
seharusnya. Hal ini dapat dilakukan
CI yang lama namun saat ini sudah
dengan merubah script pada tombol
tidak ada lagi. Mungkin pihak developer
submit atau di code $_GET, lalu
Codeigniter sudah mengetahui bahwa
mengirimkan data ke server milik
permasalahan XSS adalah di output
attacker dan kemudian dicatat dalam
bukan pada inputannya.
databasenya.
Salah satu cara lain untuk mencegah
Tujuannya bisa saja untuk meningkatkan
serangan XSS juga sudah ada dalam
traffic atau backlink ke web yang
fungsi PHP, yakni menggunakan
dimiliki dengan memanfaatkan web yang
htmlspecialchars(), namun untuk
sudah dibobol. Jika data – data penting
melakukan escaping juga tidaklah
yang dimasukkan tentunya dampaknya
cukup. Bisa juga dilakukan dengan cara
akan lebih besar lagi.
memblok semua input yang berupa
Cara Mencegah XSS script tag atau image source. Lakukan
Beberapa tahun yang lalu sempat pengamanan juga terhadap Cpanel anda
berhembus kabar bahwa website milik karena hal ini menjadi kunci utama
salah satu bank terkemuka di Indonesia masuknya XSS.
pernah disusupi XSS sehingga banyak
data – data nasabah yang diambil. Dalam Bisa juga dengan menggunakan suatu

melakukan aksinya para hacker atau aplikasi pengamanan web, salah satu

attacker memang tidak pernah pandang yang penulis rekomendasikan adalah

bulu dalam hal memilih web mana yang aplikasi Acunetix. Penggunaan Acunetix

akan dijadikan target. Dan karena ini diibaratkan seperti White Hacker

semakin besar website yang dijadikan yang mampu melindungi keamanan web
dengan cukup signifikan.
Perlu waktu yang cukup lama memang
untuk melakukan scan terhadap
keamanan website jika menggunakan
Acunetix namun hasil yang diberikan
juga cukup besar. Tidak hanya XSS saja,
Acunetix dapat mendeteksi adanya SQL
Injection, PHP Injection, Cross Frame
Sripting (XFS), URL Redirection,
pengecekan terhadap file dalam server
dan masih banyak lagi.
Itulah pengertian XSS beserta cara kerja
dan cara mencegah agar serangan XSS
ini tidak membobol keamanan web
ataupun aplikasi anda. Semoga
bermanfaat dan mudah dipahami!

Anda mungkin juga menyukai