skip to main | skip to sidebar

Monday 1 July 2019

Kerentanan Kode Javascript - Kasus XSS

Sebelumnya sudah dijelaskan tentang Cross Site Scripting ( XSS ). Yang menjadi permasalah adalah bagaimana jika payload yang ada di materi kemarin tidak bekerja tetapi payload ter-reflected ke dalam salah satu script atau function didalam Javascript. Memang ada beberapa website yang masing kurang diperhatikan didalam function atau variable didalam kode Javascript.


Untuk kali ini akan dijelaskan secara singkat saja. Kita perlu tau terlebih dahulu dimana letak payloadnya berada. Didalam variable String, Array, diapit tanda petik tunggal atau diapit tanda petik ganda. Akan kita bahas satupersatu. Hal yang perlu diperhatikan sebenarnya adalah format dari nilai yang menampung payload, perhatikan contoh berikut :

Payload Diapit dengan Petik Tunggal
Permasalahan pertama Payload yang berada di kode javascript diapit oleh petik tunggal.

<script>
     var abc = 'Anda mencari dengan kata kunci {PAYLOAD}';
</script>

Jika menemui permasalahan seperti tersebut kita tidak bisa menggunakan payload yang mengandung HTML. Kita harus langsung menggunakan payload Javascript. Karena diapit petik tunggal kita gunakan payload seperti ini :

Payload : ';alert('Belajar XSS');var z='test

Yang terjadi jika payload ini dimasukan kedalam kode Javascript adalah seperti ini, program Javascript akan termanipulasi. Dan website akan menampilkan dialog message karena fungsi alert().

<script>
     var abc = 'Anda mencari dengan kata kunci ';alert('Belajar XSS');var z='test';
</script>

Payload Diapit dengan Petik Ganda
Permasalah ini sama seperti permasalahan sebelumnya, namun perbedaan hanya di petiknya saja.

<script>
     var abc = "Anda mencari dengan kata kunci {PAYLOAD}";
</script>

 Gunakan peyload seperti berikut :

Payload : ";alert("Belajar XSS");var z="test

Payload Dimasukan Kedalam Array
Permasalahan yang terakhir adalah jika payload dimasukan kedalam sebuah array atau struktur tertentu.

<script>
     var abc = ["Rudi", "Budi", {PAYLOAD}];
</script>

Jika ada permasalahan seperti diatas kita ikuti strukturnya. Kita tahu kalau Array dan String jika memiliki nilai tidak valid maka program akan error. Kita buat payloadnya seperti ini :

Payload : ""];alert("Haha, Easy");var z=[

Jika payload tersebut dimasukan kedalam program tadi akan menjadi seperti ini :

<script>
     var abc = ["Rudi", "Budi", ""];alert("Haha, Easy");var z=[];
</script>

Jika ingin mengetahui lebih luas tentang list payload XSS kalian bisa mencarinya dengan kata kunci "all xss payloads". Mungkin segitu saja, sampai jumpa pada materi berikutnya.

0 comments:

Post a Comment