Peretasan Etis - Pembuatan Skrip Lintas Situs

Skrip lintas situs (XSS) adalah serangan injeksi kode yang memungkinkan penyerang mengeksekusi JavaScript berbahaya di browser pengguna lain.

Penyerang tidak langsung menargetkan korbannya. Sebaliknya, dia mengeksploitasi kerentanan di situs web yang dikunjungi korban, untuk membuat situs web tersebut mengirimkan JavaScript berbahaya untuknya. Bagi peramban korban, JavaScript berbahaya tampaknya merupakan bagian sah dari situs web, dan situs web tersebut bertindak sebagai kaki tangan yang tidak disengaja bagi penyerang. Serangan ini dapat dilakukan dengan menggunakan HTML, JavaScript, VBScript, ActiveX, Flash, tetapi XSS yang paling banyak digunakan adalah JavaScript berbahaya.

Serangan ini juga dapat mengumpulkan data dari pembajakan akun, perubahan pengaturan pengguna, pencurian / keracunan cookie, atau iklan palsu dan membuat serangan DoS.

Contoh

Mari kita ambil contoh untuk memahami cara kerjanya. Kami memiliki halaman web yang rentan yang kami dapatkan darimetasploitablemesin. Sekarang kami akan menguji bidang yang disorot dengan panah merah untuk XSS.

Pertama-tama, kami membuat skrip peringatan sederhana

<script>  
   alert(‘I am Vulnerable’)  
</script>

Ini akan menghasilkan keluaran sebagai berikut -

Jenis Serangan XSS

Serangan XSS sering dibagi menjadi tiga jenis -

  • Persistent XSS, tempat string berbahaya berasal dari database situs web.

  • Reflected XSS, tempat string berbahaya berasal dari permintaan korban.

  • DOM-based XSS, dengan kerentanan ada pada kode sisi klien, bukan kode sisi server.

Umumnya, skrip lintas situs ditemukan oleh vulnerability scanners sehingga Anda tidak perlu melakukan semua pekerjaan manual dengan meletakkan JavaScript di atasnya

<script>  
   alert('XSS') 
</script>

Burp Suite dan acunetix dianggap sebagai pemindai kerentanan terbaik.

Tip Cepat

Untuk mencegah serangan XSS, perhatikan poin-poin berikut -

  • Periksa dan validasi semua bidang formulir seperti formulir tersembunyi, header, cookie, string kueri.

  • Terapkan kebijakan keamanan yang ketat. Tetapkan batasan karakter di kolom input.