Apa yang Dilakukan X-XSS-Protection?

click fraud protection

X-XSS-Protection adalah header keamanan yang sudah ada sejak versi 4 Google Chrome. Itu dirancang untuk mengaktifkan alat yang memeriksa konten situs web untuk skrip lintas situs yang direfleksikan. Semua browser utama sekarang telah menghentikan dukungan untuk header karena akhirnya memperkenalkan kelemahan keamanan. Sangat disarankan agar Anda tidak mengatur header sama sekali dan sebagai gantinya mengonfigurasi Kebijakan Keamanan Konten yang kuat.

Tip: Cross-Site Scripting umumnya disingkat menjadi akronim "XSS".

Skrip lintas situs yang direfleksikan adalah kelas kerentanan XSS di mana eksploitasi dikodekan secara langsung dalam URL dan hanya memengaruhi pengguna yang mengunjungi URL. XSS yang direfleksikan adalah risiko ketika halaman web menampilkan data dari URL. Misalnya, jika toko web memungkinkan Anda mencari produk, mungkin saja toko tersebut memiliki URL yang terlihat seperti ini “website.com/search? istilah=hadiah” dan sertakan kata “hadiah” di halaman. Masalah dimulai jika seseorang meletakkan JavaScript di URL, jika tidak dibersihkan dengan benar, JavaScript ini dapat dijalankan daripada dicetak ke layar sebagaimana mestinya. Jika penyerang dapat mengelabui pengguna untuk mengeklik tautan dengan muatan XSS semacam ini, mereka mungkin dapat melakukan hal-hal seperti mengambil alih sesi mereka.

X-XSS-Protection dimaksudkan untuk mendeteksi dan mencegah jenis serangan ini. Sayangnya, seiring waktu sejumlah bypass dan bahkan kerentanan ditemukan dalam cara sistem bekerja. Kerentanan ini berarti bahwa menerapkan header X-XSS-Protection akan memperkenalkan kerentanan skrip lintas situs di situs web yang dinyatakan aman.

Untuk melindungi dari hal ini, dengan pemahaman bahwa tajuk Kebijakan Keamanan Konten, umumnya disingkat menjadi "CSP", termasuk fungsionalitas untuk menggantikannya, pengembang browser memutuskan untuk menghentikan fitur. Sebagian besar browser, termasuk Chrome, Opera, dan Edge telah menghapus dukungan atau dalam kasus Firefox, tidak pernah mengimplementasikannya. Sebaiknya situs web menonaktifkan header, untuk melindungi pengguna yang masih menggunakan browser lawas dengan fitur yang diaktifkan.

X-XSS-Protection dapat diganti dengan pengaturan "unsafe-inline" di header CSP. Mampu mengaktifkan pengaturan ini mungkin membutuhkan banyak pekerjaan tergantung pada situs web, karena itu berarti semua JavaScript harus dalam skrip eksternal dan tidak dapat dimasukkan ke dalam HTML secara langsung.