Learning All About Hacks Blog — Apa Itu XSS (Cross Site Scripting)? — Cross site scripting atau serangan XSS merupakan salah satu jenis serangan cyber berbahaya dan pernah menyerang beberapa platform populer seperti Facebook, Google, dan Paypal. Serangan ini mengeksploitasi kerentanan XSS untuk mencuri data, mengendalikan sesi pengguna, menjalankan kode jahat, atau digunakan sebagai bagian dari serangan phishing.
Meskipun cross site scripting termasuk jenis serangan cyber berbahaya, namun sebagian besar korban tidak menyadari bahwa mereka sedang diserang. Cross site scripting ini juga masuk ke dalam daftar top 10 kerentanan OWASP ( Open Web Application Security Project).
Pengertian cross site scripting atau serangan XSS
Cross site scripting adalah serangan injeksi kode pada sisi klien dengan menggunakan sarana halaman website atau web aplikasi. Peretas akan mengeksekusi skrip berbahaya di browser korban dengan cara memasukkan kode berbahaya ke halaman web atau web aplikasi yang sah. Serangan ini dapat dilakukan menggunakan JavaScript, VBScript, ActiveX, Flash, dan bahasa sisi klien lainnya.
Forum, kolom komentar, dan message boards biasanya digunakan oleh penyerang untuk memposting link untuk membuat skrip berbahaya. Skrip tersebut kemudian akan menyerang ketika korban mengklik tautan tersebut.
CrossCross site scripting ini sering digunakan untuk mencuri session cookies, yang memungkinkan penyerang untuk menyamar sebagai korban. Dengan cara inilah, peretas bisa mengetahui data-data sensitif milik korban.
Perlu Anda ketahui, serangan cross site scripting disingkat menjadi XSS karena CSS sudah sangat familiar dengan dunia web desain yaitu Cascading Style Sheet. Oleh karena itu agar tidak rancu, maka dipilihlah istilah XSS.
Jenis serangan cross site scripting
- Stored XSS (Persistent XSS) : Stored XSS merupakan jenis XSS yang paling merusak. Dalam stored XSS, skrip jahat yang disuntikkan akan disimpan secara permanen di server target, seperti database, forum pesan, visitor log, dan lain-lain.
- Reflected XSS (Non-persistent XSS) : Reflected XSS terjadi ketika skrip berbahaya dipantulkan dari web aplikasi ke browser korban.
- DOM-based XSS : Serangan ini terjadi jika web aplikasi menulis data ke Document Object Model (DOM) tanpa sanitization yang tepat. Penyerang dapat memanipulasi data ini untuk memasukkan konten XSS pada halaman web seperti kode Javascript yang berbahaya.
XSS merupakan kependekan yang digunakan untuk istilah cross site scripting.
XSS merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs. Serangan ini akan seolah-olah datang dari situs tersebut.
Akibat serangan ini antara lain penyerang dapat mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.
Alasan kependekan yang digunakan XSS bukan CSS karena CSS sudah digunakan untuk cascade style sheet.
- Reflected atau nonpersistent
- Stored atau persistent
Reflected XSS Sunting
Dengan cara ini penyerang bisa mendapatkan cookie pengguna yang bisa digunakan selanjutnya untuk membajak session pengguna.
Mekanisme pertahanan menghadapi serangan ini adalah dengan melakukan validasi input sebelum menampilkan data apapun yang di-generate oleh pengguna. Jangan percayai apapun data yang dikirim oleh pengguna.
Stored XSS Sunting
Contohnya adalah pada message board, buku tamu, dll. Penyerang memasukkan kode HTML atau client script code lainnya pada posting mereka.
Serangan ini lebih menakutkan. Mekanisme pertahanannya sama dengan reflected XSS: jika pengguna diizinkan untuk memasukkan data, lakukan validasi sebelum disimpan pada aplikasi..
Cara Hacker Melakukan Serangan Dengan Teknik XSS (Cross Site Scripting)
XSS adalah jenis serangan injeksi, yaitu skrip berbahaya (malicious scripts) disuntikkan ke situs web tepercaya. Serangan ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini antara lain penyerang dapat mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.Sebagian serangan XSS dilakukan dengan aplikasi web untuk mengirim kode berbahaya—sebagian besar dalam bentuk browser-side script.
Injeksi Structured Query Language (SQL) adalah teknik yang mengeksploitasi celah keamanan (bug) pada lapisan basis data sebuah aplikasi. Celah ini terjadi ketika input dari pengguna tidak disaring dengan benar. Misal, kolom pengguna yang harusnya diisi huruf dan angka, tapi diisi karakter lain, seperti tanda petik atau garis strip.
Sementara, Fuzzing
merupakan suatu metode untuk mencari kesalahan (bug) pada aplikasi dengan menyediakan input yang tak diduga (malformed string). Harapannya, aplikasi itu mengalami kegagalan operasi (crash), dari situlah peretas memanfaatkan celah untuk menguasai sistem informasi korban.
Metode lain yang juga dipakai peretas, seperti pengumpulan informasi dan logika bisnis/logika domain [algoritma khusus yang menangani pertuktaran informasi antara basis data dengan antarmuka pengguna].