Pengertian Tentang XSS (Cross Site Scripting)



XSS merupakan sebuah kependekan yg di gunakan untuk istilah dari Cross Site Scripting. XSS adalah salah satu jenis serangan injeksi code yg 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.

Lalu apa dampak buruk dari serangan XSS ini? dampak buruknya tergantung dari jenis serangan XSS yg di lakukan oleh Attacker. Kenapa demikian? karna XSS di bagi menjadi dua jenis.



  • Reflected atau Nonpersistent
  • Stored atau persistent



Reflected XSS

Reflected XSS merupakan tipe XSS yang paling umum dan yang paling mudah dilakukan oleh penyerang. Penyerang menggunakan social engineering agar tautan dengan kode berbahaya ini diklik oleh pengguna. Dengan cara ini penyerang bisa mendapatkan cookie pengguna yang bisa digunakan selanjutnya untuk membajak session pengguna.


Stored XSS

Stored XSS lebih jarang ditemui dan dampak serangannya lebih besar. Sebuah serangan stored XSS dapat berakibat pada seluruh pengguna. Stored XSS terjadi saat pengguna diizinkan untuk memasukkan data yang akan ditampilkan kembali. Contohnya adalah pada message board, buku tamu, kolom pencarian, dll. Penyerang memasukkan kode HTML atau client script code lainnya pada posting mereka. Dampak buruknya adalah penyerang dapat mencuri cookie user lain, nah karena penyerang dapet cookies maka si penyerang ini dapat melakukan cookie poisoning, yang berdampak dapat masuk sebagai user lain tanpa harus mengetahui username atau password.



Bug seperti ini sebelumnya pernah saya temukan di website resmi OVO yg telah saya tulis dalam artikel Open Bug Stored XSS Website Resmi OVO. Jenis XSS yg saya temukan pada website resmi OVO ini jenisnya Stored XSS, Karna dalam melakukan penetration dalam website OVO ini saya dapat melihat cookie dan memungkinkan saya dapat melakukan cookie poisoning seperti yg sudah saya jelaskan di atas.


Lalu bagaimana cara mengatasi bug seperti ini? Cara mengatasi nya kita harus melakukan validasi terlebih dahulu sebelum text/kata yg akan di masukan pada kolom input di tampilkan, agar menghidari character yg bersangkutan dengan HTML tidak dapat di masukan. Atau juga menambahkan filter htmlchar sebelum tag input di tampilkan. seperti contoh di bawah saya akan memberikan sedikit cara untuk path bug XSS versi saya.

Untuk memperaktekannya silahkan kalian kalian buka xampp dulu, atau jika kalian tidak punya xampp bisa kalian download terlebih dahulu di google.

Copas code yg ada di bawah pada notepad, kemudaian save dalam folder C:\xampp\htdocs, simpan dengan extensi .php, untuk nama file nya bebas kalian kasih nama apa saja juga.


<?php
error_reporting(0);
if(isset($_POST['nama']))
$nama = $_POST['nama'];
?>
<center><form method="post" action="">
<font color="red">Cara path bug XSS By: subangxploits.com</font>
<br>
<br>
 Masukan Nama : <input type="text" name="nama" size="20"><input type="submit" value="kirim">
</form>
<?php echo "$nama"; ?>


Kemudian kalian jalankan file tersebut, dan masukan payload XSS seprti berikut ini.


<script>alert('subangxploits.com')</script>





Maka hasilnya akan menampilkan alert java script seperti gambar di atas, itu menandakan website rentan serangan XSS, Di atas tadi adalah contoh dari script yg belum di filter untuk mencegah serangan XSS. Sekarang kita tambahkan sedikit perubahan dari code di atas untuk melakukan path bug XSS. kalian hanya perlu menambahkan kata htmlspecialchars pada code di atas di bagian yg saya tandai agar code HTML yg di masukan ke dalam kolom di parse terlebih dahulu sebelum di tampilkan. Jadinya seperti ini


<?php
error_reporting(0);
if(isset($_POST['nama']))
$nama = $_POST['nama'];
?>
<center><form method="post" action="">
<font color="red">Cara path bug XSS By: subangxploits.com</font>
<br>
<br>
 Masukan Nama : <input type="text" name="nama" size="20"><input type="submit" value="kirim">
</form>
<?php echo htmlspecialchars($nama); ?>


Dan HTML yg di masukan ke dalam input tidak akan berjalan karna sudah di parse sebelum hasil input di tampilkan. maka hasilnya akan menjadi seperti pada gambar di bawah.




Okee... bug XSS sudah selesai di path, semoga srtikel ini dapat membantu. mohon maaf jika ada salah kata dalam penulisan wkwkw :v
Pengertian Tentang XSS (Cross Site Scripting)

Jasa Pembuatan Website

50 % off

Ingin membuat website atau blog dengan harga murah? Dapatkan harga terbaik dari kami sekarang juga!

Dapatkan Sekarang